读取文件的时候,读取中文时,中文乱码。
测试:
读取的文件code.txt的内容为:
中文测试...
test Chinese...
测试代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\Administrator\\Desktop\\code.txt");
FileInputStream inputStream = new FileInputStream(file);
byte[] b = new byte[512];
int len = 0;
String str = "";
while((len = inputStream.read(b)) != -1) {
str += new String(b, 0, len);
}
System.out.println(str);
}
}
测试结果不出意外的出现乱码...
解决方法:
先设置 inputStream 的编码格式,然后再读取
对上面的代码进行修改:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadFile {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\Administrator\\Desktop\\code.txt");
FileInputStream inputStream = new FileInputStream(file);
InputStreamReader readInputStream = new InputStreamReader(inputStream, "gb2312");
char[] b = new char[512];
int len = 0;
String str = "";
while((len = readInputStream.read(b)) != -1) {
str += new String(b, 0, len);
}
System.out.println(str);
}
}
再测试...
Ok...