簡體   English   中英

Java如何逐行讀取文件。 每行都與ascII和二進制混合

[英]Java How to read a file line by line. Each line is mixed with both ascII and binary

我的文件有多行。

對於每一行,格式為

"String A" "String B" "binary data"

我想做的是在每行前面添加“字符串C”

"String C" "String A" "String B" "binary data"

現在,我正在使用BufferedReader.readline(),似乎在讀取二進制數據時此方法有問題。

有人可以給我一些解決這個問題的建議嗎?

如果文件中包含二進制數據,則不應使用readLine()方法,該方法假定您的行以'\\ r','\\ n'或“ \\ r \\ n”結尾。 “二進制數據”可能偶然包含該序列,並弄亂了您的readLine()。

一般來說,您不應將二進制數據與文本數據混合在一起。

我認為您必須閱讀二進制緩沖區並自己解釋格式,即找到文本提取字節的位置並將其轉換為String。

讀取器無法讀取二進制數據。 沒門。

比“二進制數據可能包含換行”要嚴重得多的問題是,二進制數據甚至可能根本不包含有效的unicode碼點! 因此,在任何情況下都不應將二進制數據解釋為文本,但另一種方法很好。

這意味着:將數據讀入字節緩沖區並自行解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM