バイナリタイプに問題があります。私はデータを持つバイナリファイルを持っています。すべての要素は "_"で分割されます。私は
DataInputStream in = new DataInputStream(new FileInputStream("C:/Data/"+names));
を使用しています。ここでnamesは私のバイナリファイルの名前です。このファイルを読み込んで要素を配列に保存するにはどうすればいいですか?これは可能ですか?ファイル内のJavaバイナリタイプ
-1
A
答えて
3
バイナリファイルに書き込む場合、行列の各項目を '_'で分割する必要はありません。プログラムは、各アイテムに割り当てられたバイト数を認識します。
次のコードでは、 '_'を挟まずに2つのダブルを書きます。その後、ファイルから読み込んでデータを出力します。
public class Test {
public static void main(String[] args) throws Exception {
DataOutputStream dos = new DataOutputStream(new FileOutputStream("a.bin"));
dos.writeDouble(1.2);
dos.writeDouble(3.4);
dos.close();
DataInputStream dis = new DataInputStream(new FileInputStream("a.bin"));
System.out.println(dis.readDouble());
System.out.println(dis.readDouble());
dis.close();
}
}
プログラムの出力:
1.2
3.4
しかし、あなたはアイテム間「_」ファイルを作成し、そこではなかった場合、あなたは@としてバイナリファイルから各項目を読んだ後readChar()
を使用することができますBhaskarは既に言及した。
最後に、ObjectOutputStream
を使用すると、アレイ全体を一度に書き込むことができます。
public class Test {
public static void main(String[] args) throws Exception {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("a.bin"));
double[] a = {1.2, 3.4};
oos.writeObject(a);
oos.close();
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("a.bin"));
double[] b = (double[]) ois.readObject();
System.out.println(b[0]);
System.out.println(b[1]);
ois.close();
}
}
0
read(byte[])
またはread(byte[],ffset,length)
を使用して、ファイルの内容をバイト配列に読み込むことができます。
1
どのようにデータがそのファイルに書き込まれたかによって異なります。 DataOutputStream
のwriteXXX()
を使用して記述した場合、XXXは実際の要素のデータ型を表し、要素がwriteChar('_')
で区切られている場合は、DataInputStream
のreadXXX()
メソッドを使用して簡単に読み取ることができます。要素が書かれている正確な順序で、また-
が存在すると予想されるときはいつでも(つまり2つの要素の間に)、readChar()
を使用するようにしてください。
関連する問題
- 1. Spark sqlのバイナリタイプによるフィルタリング
- 2. NEST(elasticsearch)でバイナリタイプを使用する
- 3. リソースフォルダ内のJava write .txtファイル
- 4. 単一ファイル内のサブタイプJava?
- 5. jarファイル内のJavaライブラリ
- 6. Jarファイル内のJava Jar
- 7. PHPファイル内のCSSとJava
- 8. IntelliJ:.jarファイル内の.javaと.classファイル
- 9. laravel 5.4バイナリタイプのデータベースの文字セットと照合
- 10. Javaファイル内のコードを使用してJavaファイルをコンパイルする
- 11. どのPython Soapクライアントがspyneバイナリタイプをサポートしていますか?
- 12. のJava BufferedWriterのファイルの内容は
- 13. Android(Java)の別のjarファイル内のjar
- 14. Javaでのファイルの内容へのアクセス
- 15. Javaプロジェクト内の複数の.propertiesファイル
- 16. Javaのファイルの内容を削除
- 17. Javaアプレット内の.propertiesファイルのリスト
- 18. Javaプロジェクト内のファイルを使用する
- 19. Javaのメモリ内ファイル構造ですか?
- 20. .javaファイル内の条件を調べる
- 21. ディレクトリ内の各ファイルの内容をJavaで処理する
- 22. Java - ディレクトリ内のファイルの内容を置換する
- 23. Javaサーブレット - javaサーブレット内のjarファイルをexcecuteする方法
- 24. Java warファイル内のjwファイルのリフレッシュ方法
- 25. パッケージ内にJavaファイルを作成する
- 26. JSPファイル内でJavaクラスをインポートする
- 27. Javaでjarファイル内のxmlファイルを変更する
- 28. 64ビットで動作するC#経由でファイルシステム上のバイナリタイプを取得
- 29. Javaプログラム内から.javaファイルをコンパイルしますか?
- 30. 変数(16進数を含む)を使用してバイナリタイプに変換する
ファイルは実際にバイナリであるか、下線付きのエントリの区切り規則を使用して "エンコード"されていますか? – Chris
ファイル形式の詳細な説明はありますか? – orien
fyi「_」のASCIIコードは0x5fです –