Java学习日记之10——IO流

IO流

  • IO流概述
    • IO流概念
  • 基本流的文件的读取与写入
    • FileWriter文件的写入
      • 构造方法
      • 成员方法
      • 绝对路径与相对路径
      • 数据换行和追加数据
    • FileReader文件的读取
      • 构造方法
      • 成员方法
  • 缓冲流的文件的读取与写入
    • 缓冲流概念
    • 缓冲流的输入
      • 构造方法
      • 成员方法
    • 缓冲流的输出
      • 构造方法
      • 成员方法

IO流概述

IO流概念

使用集合类创建的学生管理系统,当运行后,添加学生过程中,其添加的数据只是在内存中存储,当结束程序以后,数据就消失了。因此需要使用IO流对数据进行保存。

IO流有效地解决了文件复制,文件下载,文件上传的数据传送问题。

基本流的文件的读取与写入

FileWriter文件的写入

往文件中写入数据,使用的是FileWriter类。

构造方法

构造方法 说明
FileWriter(String fileName) 传入文件名构造对象
FileWriter(String fileName, boolean append) 传入文件名构造对象,且对象可以追加数据

举例:FileWriter fw = new FileWriter(“test.txt”)

成员方法

类型 成员变量 说明
void write(char[]) 写入字符数组
void write(string) 写入字符串
void write(int c) 写入单个字符
void flush() 刷新内存池
void close() 释放资源

举例:将“hello world”写入“test.java”文件

FileWriter fw = new  FileWriter("test.txt");
String s = “hello world”;
fw.write(s);  //写入字符串
fw.flush();		//刷新内存池
fw.close()		//释放资源

绝对路径与相对路径

FileWriter fw = new FileWriter(“test.txt”); 是指向了当前项目的根目录下创建的test.txt文件
如果想要创建其他路径下的文件,在前面加上盘符即可
FileWriter fw = new FileWriter(“C:\test.txt”);

数据换行和追加数据

如何实现数据换行:
Windows记事本中识别的换行符为\r,
window:\r \n
linux: \n
mac: \r
因此写入数据时,如果要换行,则使用fw.write(“\n”)即可

追加数据:FileWriter(String fileName, boolean append)
若可以追加数据:
FileWriter(String fileName, true)
若不能追加数据
FileWriter(String fileName, false)

FileReader文件的读取

构造方法

构造方法 说明
FileReader(String fileName) 传入文件名读取

成员方法

类型 成员变量 说明
int read() 读取单个字符,如果读到最后一位返回值为-1
int read(char[]) 将读到的字符写入字符串,如果读到最后一位,返回值为-1
void flush() 刷新内存池
void close() 释放资源

举例:将test.java中的内容写入copy.java中

FileReader fr = new FileReader("test.java");
FileWriter fw = new FileWriter("copy.java");
char[] test = new char[1024];
while(fr.read(test)!=-1){
	fw.write(chs);
}
fr.close();
FileReader fr = new FileReader("test.java");
FileWriter fw = new FileWriter("copy.java");
int ch ;
while((ch=fr.read())!=-1){
	fw.write(ch);
}
fr.close();

缓冲流的文件的读取与写入

缓冲流概念

BufferedWriter:
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
同理BufferedReader

缓冲流的输入

构造方法

BufferedReader(Reader in) : 创建一个使用默认大小输入缓冲区的缓冲字符输入流。
Reader in是一个FileReader文件
举例:BufferedReader br = new BufferedReader(new FileReader(“ab.txr”));

成员方法

类型 成员变量 说明
int read() 读取单个字符,如果读到最后一位返回值为-1
int read(char[]) 将读到的字符写入字符串,如果读到最后一位,返回值为-1
String readLine() 逐行读取
void flush() 刷新内存池
void close() 释放资源

缓冲流的输出

构造方法

BufferedWriter(Writer in) : 创建一个使用默认大小输入缓冲区的缓冲字符输入流。
Writer in是一个FileWriter文件
举例:BufferedWriter bw = new BufferedWriter(new FileWriter(“ab.txr”));

成员方法

类型 成员变量 说明
void write() 写入单个字符
void write(char[])将char[]数组中的内容写入文件中
String newLine() 创建新行
void flush() 刷新内存池
void close() 释放资源

你可能感兴趣的:(JAVA)