我写了一个将对象写入文件的方法。 我使用泛型,所以也可以编写一个从Object派生的对象(我也可以接受Object类型的参数,但这更清晰)。异常实用写入文件
public static <T extends Object> void write(T item,String path)
throws FileNotFoundException,IOException
{
ObjectOutputStream os;
Object obj=item;
os=new ObjectOutputStream(new FileOutputStream(path));
os.writeObject(obj);
os.close();
}
所以怀疑是关于务实:正确离开例外走不处理他们,因为我也写了方法的第二个版本:
public static <T extends Object> void nothrow_write(T item,String path)
{
ObjectOutputStream os;
Object obj=item;
try
{
os=new ObjectOutputStream(new FileOutputStream(path));
os.writeObject(obj);
os.close();
}
catch(FileNotFoundException e)
{
System.out.println(e);
}
catch(IOException e)
{
System.out.println(e);
}
}
哪一种方法更务实正确? 第一个问题是,如果引发异常,则流将保持打开状态。
使用这样的泛型不会使任何se对我来说。这比'void write(Object,String)'更清晰吗? – 2012-02-20 00:09:15
_是的,你是对的。我认为我使用泛型只是为了更清楚,它也可以接受一个Object._ – 2012-02-20 00:12:47
流在第二个例外中仍然是异常打开的。 – fgb 2012-02-20 00:25:57