字符输入流(FileReader)
常用方法
- int read() 读取单个字符。
- int read(char[] cbuf) 将字符读入数组。
- int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
- void close() 关闭该流并释放与之关联的所有资源。
使用步骤
- 创建FileReader对象,构造方法中传递要绑定的数据源
- 使用FileReader对象的read()方法来读取文件
- 读取完毕后释放资源
示例代码
import java.io.FileReader;
import java.io.IOException;
public class Demo4 {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("a.txt");
// int read() 读取单个字符。
/*System.out.println((char)fr.read());
fr.close();*/
//int read(char[] cbuf) 将字符读入数组。
/*char[] cs=new char[1024];
fr.read(cs);
System.out.println(new String(cs));
fr.close();*/
}
}
字符输出流(FileWriter)
常用方法
- void write(char[] cbuf) 写入字符数组。
- void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。
- void write(int c) 写入单个字符。
- void write(String str) 写入字符串。
- void write(String str, int off, int len) 写入字符串的某一部分。
- void flush() 刷新该流的缓冲。
- void close() 关闭此流,但要先刷新它。
flush()方法刷新该流的缓冲,流还可以继续使用
close()方法会先刷新该流的额缓冲然后关闭流,流不能继续使用
使用步骤
- 创建FileWriter对象,构造方法中传递要绑定的数据源
- 使用FileWriter对象的write()方法,吧数据写入到内存缓冲区(字符转化为字节的过程)
- 调用FileWriter的flush()方法,把内存缓冲区的数据刷新到文件中
- 释放资源
示例代码:
import java.io.FileWriter;
import java.io.IOException;
/*
* 字符流
* */
public class Demo3 {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("a.txt");
// void write(int c) 写入单个字符。
/*fw.write(97);//a
fw.close();*/
//void write(char[] cbuf) 写入字符数组。
/*char[] cs={'a','b','c','d'};
fw.write(cs);//abcd
fw.close();*/
//void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。
/*char[] cs={'a','b','c','d'};
fw.write(cs,1,3);//bcd
fw.close();*/
//void write(String str) 写入字符串。
/*fw.write("你好");//你好
fw.close();*/
// void write(String str, int off, int len) 写入字符串的某一部分。
fw.write("我爱学习",2,2);//学习
fw.close();
}
}