★★Java質問・相談スレッド142★★
■ このスレッドは過去ログ倉庫に格納されています
0567デフォルトの名無しさん
2010/12/29(水) 16:07:00public byte[] readFile(File f) throws IOException {
byte[] data = new byte[(int)f.length()];
new FileInputStream(f).read(data);
return data;
}
ストリーム閉じてない。サイズ不明なファイルの全体をサイズ
チェックしないで全部読み出すので、たとえば4GBのファイルを
読むにはヒープが4GB以上の64bitVMが必要。
それにAPIドキュメントの記載を読んだ限りでは、上のコードでは
ファイル全体を読み出さない可能性がある(実際は全体を読んで
くれるみたいだ)
■ このスレッドは過去ログ倉庫に格納されています