我有一個二進制類型的問題。我有數據的二進制文件。每個元素都被「_」分割。我正在使用
DataInputStream in = new DataInputStream(new FileInputStream("C:/Data/"+names));
,其中名稱是我的二進制文件的名稱。我如何讀取這個文件並保存數組中的元素?這個有可能?Java中的二進制文件類型
-1
A
回答
3
寫入二進制文件時,不需要用'_'分割矩陣中的每個項目。該程序知道爲每個項目分配了多少個字節。
下面的代碼在2之間寫入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()
方法輕鬆讀取它們。只要確保您按照它們寫入的確切順序閱讀元素,並且每當您期望-
存在時(即在兩個元素之間),就使用readChar()
。
相關問題
- 1. Java中文本的二進制文件
- 2. Java中的Nasa二進制文件
- 3. java中的二進制文件
- 4. 在Java中寫入二進制文件
- 5. 使用二進制文件中的類型
- 6. 十進制到java中的二進制文件
- 7. 二進制樹的數字文件Java
- 8. Websocket base64,二進制類型
- 9. GIT在config中設置二進制文件類型?
- 10. 用Java讀取二進制文件
- 11. Java文件到二進制轉換
- 12. Java:如何編寫二進制文件?
- 13. Java二進制文件(.raw)輸出
- 14. Java加載二進制文件
- 15. 刪除二進制Java文件
- 16. Hessian與大型二進制文件
- 17. 如何讀取任何類型的文件爲二進制值?
- 18. 將二進制,十六進制和八進制轉換爲java數據類型
- 19. 使用Java讀取和寫入大型二進制文件
- 20. Java,如何將二進制數據讀取到任何文件類型
- 21. 複製二進制文件
- 22. 從大型二進制文件中提取zip文件
- 23. 的Python:二進制文件
- 24. 如何使用jdk二進制運行Java類文件?
- 25. PHP文件的FTP傳輸類型 - PHP文件的二進制傳輸好嗎?
- 26. 從二進制文件獲取值類型c#
- 27. 寫入「3D」矢量莢類型爲二進制文件C++
- 28. 類型定義,(二進制)代碼重複和對象文件
- 29. 二進制%的錯誤操作數類型,第一種類型java.lang.Object第二種類型int(java)
- 30. 如何簡化這種二進制到java類型的代碼?
該文件實際上是二進制文件還是隻是使用您的約定條目與下劃線「編碼」? – Chris
您能否詳細介紹文件格式? – orien
fyi ascii code of''_''是'0x5f' –