質問

私のために最善の/高速な方法を提示してください

1)メモリに非常に小さなバイナリファイルをロードします。例えば、アイコンの;

2)のロード/サイズ512Mビット+の非常に大きなバイナリファイルを読み込みます。たぶん私は、メモリマップドIOを使用する必要があります?

3)あなたのサイズ/スピードについて考えたくないだけのことを行う必要がありますあなたの一般的な選択:?メモリにすべてのバイトを読み込む

ありがとう!!!

P.S。多分些細な質問には申し訳ありません。閉じないでそれを行ってください。)

P.S.2。 ミラーがC#のためにアナログ質問の

他のヒント

メモリーに小さなファイルを読み込むための最も簡単な方法はあります:

// Make a file object from the path name
File file=new File("mypath");
// Find the size
int size=file.length();
// Create a buffer big enough to hold the file
byte[] contents=new byte[size];
// Create an input stream from the file object
FileInputStream in=new FileInutStream(file);
// Read it all
in.read(contents);
// Close the file
in.close();

実際の生活では、I / Oエラーが発生した場合には、いくつかのtry / catchブロックを必要と思います。

あなたは大きなファイルを読んでいる場合、それはおそらく避けることができる場合は、

、私は強く、一度にすべてのメモリにそれを読んでいないお勧めします。それを読み、チャンクでそれを処理します。それは本当にすべてを一度にメモリに500MBのファイルを保持する必要がある非常にまれなアプリケーションです。

JavaでメモリマップドI / Oのようなものはありません。それはあなたが何をする必要があるかだ場合、あなたは本当に大きなバイト配列を作成する必要があると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top