[英]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.