下面是字节流处理中文“中国”的读写文件,因为"中国"的编码为[-42, -48, -71, -6],即两个字节代表一个中文字符,字节流读是一个一个字节读所以会出现中文乱码,可是我想问的是输出流写不也是一个一个字节写
为什么输出的文件里面是完整的“中国”而不是乱码呢?
谢谢大家,谢谢
public static void main(String[] args) throws IOException {
String path = "c:\a.txt";
writFileTest();
readFileByInputStream(path);
}
private static void readFileByInputStream(String path) throws IOException {
FileInputStream fis = new FileInputStream(path);
int len = 0;
while ((len = fis.read()) != -1) {
System.out.print((char) len);
}
}
private static void writFileTest() throws FileNotFoundException,
IOException {
// 创建文件对象
File file = new File("c:\\a.txt");
// 创建文件输出流
FileOutputStream fos = new FileOutputStream(file);
fos.write("中国".getBytes());
fos.close();
}