私は現在、バイナリファイルにintの配列を書き込んでオフセットを保存し、各配列に対して読み込むバイト数をJavaで逆インデックスプロジェクトを行っています、後でメモリに読み戻すことができます。どのように私はそれを行うことができるでしょうか?以前はバイナリファイルを扱ったことがないので、どこから始めたらいいのか分かりません。Java:逆インデックスのバイナリファイルに複数のint配列を書き込む
-1
A
答えて
1
DataOutputStream
で生データを書き込んで、DataInputStream
で読むことができます。これにより、データがテキストとして書き込まれないことが保証されます。
これらの2つのクラスは、プリミティブ型のそれぞれについて、基本的には、1つの過負荷を持ってかなりまっすぐ進むそれはそれらを使用することができますようint
、float
、char
など、。 int
を書いて読み込むには、writeInt()
とreadInt()
という方法があります。
例として、あなたはそのようなあなたのint[]
を書くことができ:
int[] myArray = ...;
DataOutputStream os = new DataOutputStream(new FileOutputStream("C:\\somefile.dat"));
//write the length first so that you can later know how many ints to read
os.writeInt(myArray.length);
for (int i =0 ; i < myArray.length; ++i){
os.writeInt(myArray[i]);
}
os.close();
そして、それを読み戻すために:あなたがしたい場合に重要であるこれらの例は、例外処理がなかったことを
DataInputStream is = new DataInputStream(new FileInputStream("C:\\somefile.dat"));
int size = is.readInt(); //read the size which is the first int
int[] myArray = new int[size]; //use it to reconstruct the array
for (int i = 0; i < size; ++i){
myArray[i] = is.readInt(); //read all the remaining ints
}
is.close();
注意を、ファイルが存在しないか、データが破損している場合に、プログラムがクラッシュしないようにします。
関連する問題
- 1. 配列を含む構造体をバイナリファイルに書き込む
- 2. 特定のエンコーディングでバイナリファイルにchar配列を書き込む
- 3. バイナリファイルに整数を書き込む(C++)
- 4. 整数をバイナリファイルに書き込む
- 5. バイナリファイルに書き込むpython
- 6. pythonバイナリファイルからデータを読み込み、符号付きintに書き込む
- 7. Juliaのバイナリファイルに書き込む
- 8. 特定のビット数のJavaでintを書き込む方法
- 9. 文字列を含む構造体をバイナリファイルに書き込む
- 10. Java並行処理 - 同じ配列の異なるインデックスに書き込む
- 11. 構造体の配列をC言語のバイナリファイルに書き込む
- 12. バイナリファイルを書き込む際のEncoding :: UndefinedConversionError
- 13. バイナリファイルにcharマクロを書き込む
- 14. Python:intをバイナリファイルに書き込む
- 15. 迷惑データをバイナリファイルに書き込む
- 16. オブジェクトをC++でバイナリファイルに書き込む
- 17. バイナリファイルをRに書き込む
- 18. ユニコード文字列をperlのバイナリファイルに書き込む
- 19. 複数の.txtファイルを読み込み、配列に情報を書き込む
- 20. 配列の書式を書き込む
- 21. intのバイナリファイルを文字列C++に読み込む
- 22. numpyのint配列:複数のターゲットint型のインデックス
- 23. バイナリファイルに書き込む方法は?
- 24. C++ 4バイト長のバイナリファイルに整数を書き込む方法
- 25. 配列をJavaのHTMLファイルに書き込む
- 26. バイナリファイルからの文字列配列の書き込みC++
- 27. テーブルデータをJavaの複数のCSVファイルに書き込む
- 28. Inno Setupでバイナリファイルを書き込む
- 29. Rubyでバイナリファイルを書き込む
- 30. Swift 3バイナリファイルに文字列を書き込む
まず、ドキュメントを読んでください。 'DataOutputStream'または' RandomAccesFile'はすぐに気になります。 – EJP