io Java如何逐行读取文件。每一行都混合了ascII码和二进制码
我有一个文件有多行
每行的格式是
"String A" "String B" "binary data"
我想做的是在每行前面加上“字符串C”
"String C" "String A" "String B" "binary data"
现在我正在使用BufferedReader。readline(),这个方法在读取二进制数据时似乎有问题
有谁能给我一些解决这个问题的建议吗
你可以在下面搜索框中键入要查询的问题!
我有一个文件有多行
每行的格式是
"String A" "String B" "binary data"
我想做的是在每行前面加上“字符串C”
"String C" "String A" "String B" "binary data"
现在我正在使用BufferedReader。readline(),这个方法在读取二进制数据时似乎有问题
有谁能给我一些解决这个问题的建议吗
# 1 楼答案
比“二进制数据可能包含换行符”更严重的问题显然是,二进制数据甚至可能根本不包含有效的unicode代码点!因此,在任何情况下都不应该将二进制数据解释为文本,但另一种方法也可以
这意味着:将数据读入字节缓冲存储器,然后自己解释
# 2 楼答案
我认为你必须自己读取二进制缓冲区并解释你的格式,也就是说,找到文本的位置,提取字节并将它们转换成字符串
读卡器无法读取二进制数据。不可能
# 3 楼答案
如果文件中有二进制数据,则不应使用readLine()方法,该方法假定行以“\r”、“n”或“\r\n”结尾。“二进制数据”可能会偶然包含该序列,并弄乱您的readLine()
一般来说,你不应该把二进制数据和文本数据混在一起