私はオブジェクトをファイルに書き込む方法を書いています。 ジェネリックを使って、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);
}
}
方法は、より実践的である:?私も方法の第二のバージョンを書かれているので、それらを処理せず、例外が行く残して正しいです正しい? 最初の問題は、例外がスローされた場合、ストリームが開いたままであることです。あなたが最終的に流れを確実にするためにブロックを使用でき
このようなジェネリックを使用しても、私にはnse。それは 'void write(Object、String)'よりもどうやって明らかですか? –
_はい、そうです。私は、ジェネリックをより明確にするためだけに使用することを指定しました。オブジェクトも受け入れることができます。_ –
ストリームは2番目の例外でも例外なくオープンのままです。 – fgb