有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

io Java如何逐行读取文件。每一行都混合了ascII码和二进制码

我有一个文件有多行

每行的格式是

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

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

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

现在我正在使用BufferedReader。readline(),这个方法在读取二进制数据时似乎有问题

有谁能给我一些解决这个问题的建议吗


共 (3) 个答案

  1. # 1 楼答案

    比“二进制数据可能包含换行符”更严重的问题显然是,二进制数据甚至可能根本不包含有效的unicode代码点!因此,在任何情况下都不应该将二进制数据解释为文本,但另一种方法也可以

    这意味着:将数据读入字节缓冲存储器,然后自己解释

  2. # 2 楼答案

    我认为你必须自己读取二进制缓冲区并解释你的格式,也就是说,找到文本的位置,提取字节并将它们转换成字符串

    读卡器无法读取二进制数据。不可能

  3. # 3 楼答案

    如果文件中有二进制数据,则不应使用readLine()方法,该方法假定行以“\r”、“n”或“\r\n”结尾。“二进制数据”可能会偶然包含该序列,并弄乱您的readLine()

    一般来说,你不应该把二进制数据和文本数据混在一起