java bufferedReader,写出与读取不同的东西

时间:2009-09-14 13:33:11

标签: java bufferedreader cal navision bufferedwriter

我用Java中的BufferedReader和BufferedWriter解析了一个文本(CAL代码),不幸的是,我用红色和用outStream.write(line)编写的行;已经改变了,请看截图:

http://uploadz.eu/images/4qz8mtkm2d9zx3x5ms3n.png ħ**号码://uploadz.eu/images/c03hgkrgrmit2ij2mug.png

如你所见,一些特殊的角色确实改变了线条,虽然我打算不改变它们。

据我所知,默认情况下,Bufferedwriter / Reader应该以unicode工作。

2 个答案:

答案 0 :(得分:3)

BufferedWriterBufferedReader编码不可知 - 它们从不处理实际的编码,因为它们只是缓冲现有的读者和作者。

现在FileWriterFileReader使用默认的系统编码(urgh)。要解决此问题,您通常应使用InputStream / InputStreamReaderOutputStream / OutputStreamWriter对(可能包含在BufferedReader / BufferedWriter中),并明确指定编码。

你还没有说出你实际读到的内容 - 它是一个档案吗?你知道文件的编码吗?

答案 1 :(得分:0)

如果要将内容视为文本(String),或者当复制是您的目标时,您应该知道编码,或者将内容视为字节数组。