FileReader
FileReader 用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。
构造方法:
1.FileReader(File file) 在给定从中读取数据的File的情况下创建一个新FileReader。
成员方法:
1.read() 读取单个字符。
2.read(char[] cbuf) 根据cbuf的大小最大读取字符,如果读取到的字符为空返回-1。
3.read(char[] cbuf,int offset,int length) 读取字符数组,从索引offset开始,读取length个字符。
4.close() 关闭该流并释放与之关联的所有资源。
public static void main(String[] args) {
//指定文件路径
String filePath = "C:\\Users\\ms674\\Desktop\\File\\file1.txt";
FileReader fr = null;
try {
//创建FileReader读取文件内容
fr = new FileReader(new File(filePath));
int len;
char[] cs = new char[10];//缓冲区设置为10个字符
while ((len = fr.read(cs)) != -1) {
System.out.print(new String(cs,0,len));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
FileWriter
FileWriter 用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。
构造方法:
1.FileWriter(File file) 根据给定的File对象构造一个FileWriter对象,覆盖写入。
2.FileWriter(File file, boolean append) 根据给定的File对象构造一个FileWriter对象,追加写入。
成员方法:
1.write(int c) 写入单个字符。
2.write(char[] cbuf,int off,int len) 写入字符数组的某一部分,从索引为off开始写入len个。
3.write(String str,int off,int len) 写入字符串的某一部分,从索引为off开始写入len个。
4.flush() 刷新该流的缓冲,将缓冲区的数据写到本地磁盘上。
5.close() 关闭此流,但要先刷新它,关闭前默认执行一下flush()。
public static void main(String[] args) {
//指定文件路径
String filePath = "C:\\Users\\ms674\\Desktop\\File\\FileWriter.txt";
FileWriter fr = null;
try {
//创建FileWriter对象进行写操作,默认覆盖写入,True为追加写入
fr = new FileWriter(filePath,true);
fr.write("你好北京".toCharArray(),2,2);
fr.flush();//清空缓冲区,将数据写到硬盘上
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}