字符输出流 FileWriter
Writer是所有字符输出流的父类他是一个抽象类
FileWerter是Writer的子类OutputStreamWriter的子类
常用的构造方法
//1.参数1:文件路径 参数2:默认为false:覆盖已有数据 true:在已有数据后写入数据
FileWriter fileWriter1 = new FileWriter("d.txt",true);
//2.参数1:File对象 参数2:默认为false:覆盖已有数据 true:在已有数据后写入数据
File file = new File("c.txt");
FileWriter fileWriter2 = new FileWriter(file);
构造方法的作用
1.创建一个FileWriter对象
2.如果构造方法中的参数文件不存在,会创建这个文件
3.会把FileWriter对象指向创建好的文件
常用的方法
1.writer("String") 没有返回值 把数据写入到内存缓冲区
2.writer(int) 没有返回值 把数据写入到内存缓冲区
3.writer(char[]) 没有返回值 把数据写入到内存缓冲区
4.flush() 没有返回值 将写入到内存缓冲区的数据刷新到文件
5.close() 没有返回值 将写入到内存缓冲区的数据刷新到文件并关闭流释放资源
字符输入流 FileReader
FileReader是Reader的子类InputStreamReader的子类
常用的构造方法
//1.参数:文件路径
FileReader fileReader1 = new FileReader("E:\\上传的文件\\需求描述.txt");
//2.参数:File对象
File file = new File("E:\\上传的文件\\需求描述.txt");
FileReader fileReader2 = new FileReader(file);
构造方法的作用
1.创建一个FileReader对象
2.会把FileReader对象指向要读取的文件
常用的方法
//1.int read() 读取单个字符 返回值为读取的字符 如果将文件中的数据读取完会返回-1
//输出方式:
int len = 0;
while((len=fileReader1.read())!=-1){
System.out.print((char)len);
}
//2.int read(char[]) 读取多个字符 返回值为读取到有效字符的个数 如果将文件中的数据读取完会返回-1
char[] str = new char[1024];
while((len=fileReader1.read(str))!=-1){
System.out.println(new String(str));
}
JDK7处理流异常
JDK7以后try后面可以加一个(),在括号中我们可以定义流对象,流对象的作用域只在try中try中的代码执行完毕之后会自动把流对象释放(缓存区的数据也会刷新到文件中)