今天处理从excel导出的unicode编码格式文件, 然后用java去处理,结果发现有很多乱码,后来才发现,java的默认编码处理是按照操作系统来的,如果需要指定解码,可以用FileInputStream的构造方法。结果和程序如下:
import java.io.*;
public class Filetest {
public static void main(String[] args) throws IOException{
String filePath = "C:\\Users\\jw\\Desktop\\test\\";
BufferedReader br1 = new BufferedReader(new FileReader(filePath+"unicode test.txt"));
String aLine = null;
System.out.println("*******use the OS default charset:");
while((aLine = br1.readLine()) != null)
System.out.println(aLine);
br1.close();
InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath+
"unicode test.txt"), "Unicode");
BufferedReader br2 = new BufferedReader(isr);
System.out.println("*********use specified charset:");
while((aLine = br2.readLine()) != null) {
System.out.println(aLine);
}
br2.close();
}
}