今天竟然也遇到这种事了,记事本默认编码是ANSI,读取的时候数字读取是正常的,但是在读取中文的时候出现乱码,将txt编码换成unicode和utf-8都不行,会造成数字不正常,Integer,parseInt()都没有用。查了一下发现解决方案可以设置读取的时候为utf-8,原因到现在也莫名其妙的,说是因为windows默认为gbk,而记事本默认ansi,但是我之前没有出过这种问题,而且java中编码改成utf-8后,之前在gbk模式下编辑的中文全部乱码。唉。。。
因为我用的是BufferReader外加FileReader,在网上查到的大部分不是用这两个,之后查到利用FileReader构造InputReaderStrean,属性中加上"UTF-8"此时我的记事本编码应该也是UTF-8,然后解决了这个问题,要是将将记事本变成ANSI没来得及试,过会试一下。