Java读取TXT文本文件乱码解决方案

J__a读取___文本文件乱码解决方案 今天在解析一个文本文件的时候出现了乱码,以前从未遇到,花了点时间解决了,在此总结一下: 首先,先看一下解析的代码:private String[] getPro

J__a___ 读取文本文件乱码解决方案 今天在解析一个文本文件的时候出现了乱码,以前从未遇到,花了点时间解决了,在此 总结一下: 首先,先看一下解析的代码: private String[]getProjectData(Filefile){ null String[]data=; try { BufferedReaderbr=newBufferedReader(newFileReader(file)); Stringstr=br.readLine(); data=str.split(); "\t" br.close(); catch }(FileNotFoundEx__ptione){ e.printStackTra__(); catch }(IOEx__ptione){ e.printStackTra__(); } return data; } ___ 这个方法很简单,就是获取文件中的一行数据,然后转换为数组,我这个文本中只有一 str 行。就这种情况下获取到的是乱码,我想出现乱码肯定是字符集编码的问题,然后自己 新建了一个文本文档测试没有问题(开始用的文本时别的程序导出的),所以我估计是开始 ___Unicode___ 那个文件编码的问题,查看发现是编码(如何查看的编码呢,教你一个笨笨 —— 的办法:打开文件另存为,然后看到最下面的编码,默认选择的就是当前文档的编码格 式),问题就出现在这里。问题找到了就好解决了,修改代码为: private String[]getProjectData(Filefile){ null String[]data=; try { newnewnew BufferedReaderbr=BufferedReader(InputStreamReader( FileInputStream(file),)); "UTF-16" Stringstr=br.readLine(); data=str.split(); "\t" br.close(); catch }(FileNotFoundEx__ptione){ e.printStackTra__(); catch }(IOEx__ptione){ e.printStackTra__(); } return data; } “UTF-16” 使用文件流读取,转换编码为,这样乱码问题就解决了。 归纳一下: ___ANSIUnicodeUnicodebigendianUTF-8; 文本文档有四种编码选项:、、、默认应该是 ANSIGBK 选项,就是系统的默认编码,一般是,这种情况下用第一段代码解析是没有问题

腾讯文库Java读取TXT文本文件乱码解决方案