linux系统:utf-8
windows:gbk
mac:utf-8
当解码和编码方式不同会出现乱码!
我们更推荐普及使用utf-8编码
用于读取字符流的抽象类。 唯一的方法 子类必须实现的是 read(char[], int, int) 和 close()。 最多 但是,子类将按顺序覆盖此处定义的一些方法 提供更高的效率、附加功能或两者兼而有之。


用于写入字符流的抽象类。 唯一的方法 子类必须实现的是 write(char[], int, int)、flush() 和 close()。 然而,大多数子类将覆盖此处定义的一些方法 以提供更高的效率、附加功能或两者兼而有之。


使用默认缓冲区大小从字符文件中读取文本。 从字节解码 to characters 使用指定的 字符集 或平台的 默认字符集 。
这 FileReader用于读取字符流。 用于阅读 原始字节流,考虑使用 FileInputStream.


import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class demo9 {
public static void main(String[] args) throws IOException {
String path = "C:\\Users\\Syf200208161018\\Desktop\\新建文本文档.txt";
FileReader fileReader = new FileReader(path);
int count = 0;
char[] strings = new char[1024];
while ((count = fileReader.read(strings))!=-1){
System.out.println(new String(strings,0,count));
}
fileReader.close();
}
}
使用默认缓冲区大小将文本写入字符文件。 从字符编码 to bytes 使用指定的 字符集 或平台的 默认字符集 。
文件是否可用或是否可以创建取决于 底层平台。 特别是某些平台,允许文件 只有一个人开放写作 FileWriter(或其他文件写入 对象)一次。 在这种情况下,此类中的构造函数 如果涉及的文件已经打开,则会失败。
这 FileWriter用于编写字符流。 写作用 原始字节流,考虑使用 FileOutputStream.


import java.io.FileWriter;
import java.io.IOException;
public class demo10 {
public static void main(String[] args) throws IOException {
String path = "C:\\Users\\Syf200208161018\\Desktop\\neww.txt";
FileWriter fileWriter = new FileWriter(path);
fileWriter.write("安徽师大海底隧道");
fileWriter.flush();
fileWriter.close();
}
}