Java学习日记之10——IO流

IO流概述

IO流概念

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

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

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

FileWriter文件的写入

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

构造方法

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

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

成员方法

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

举例:将“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)传入文件名读取

成员方法

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

举例:将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”));

成员方法

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

缓冲流的输出

构造方法

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

成员方法

类型成员变量说明
voidwrite()写入单个字符
voidwrite(char[])将char[]数组中的内容写入文件中
StringnewLine()创建新行
voidflush()刷新内存池
voidclose()释放资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值