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

http://uploadz.eu/images/4qz8mtkm2d9zx3x5ms3n.png
h ** p://uploadz.eu/images/c03hgkrgrmit2ij2mug.png

如您所见,尽管我不打算更改某些行,但某些特殊字符确实更改了行。

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

最佳答案

好吧BufferedWriterBufferedReader在编码方面是不可知的-它们从不处理实际的编码,因为它们只是缓冲现有的读取器和写入器。

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

您尚未说出您实际上在阅读什么-它是文件吗?您知道文件的编码吗?

关于java - java bufferedReader,写的东西与读取的不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1421559/

10-12 02:38