2021-04-15

转换流、缓冲流、序列化、打印流

1.IO

1.1转换流
1.1.1OutputStreamWriter

//字符输出流
//字节输出流转换为字符输出流
FileOutputStream fos = new FileOutputStream(“E:\123.txt”,true);
// 转换为字符流
OutputStreamWriter osw = new OutputStreamWriter(fos);
osw.write(“asfdfhhtr”);
osw.flush();
// osw 关闭后 会自动把 fos也关闭
osw.close();
1.1.2InputStreamReader
字节输入流转为字符输入流
FileInputStream fis = new FileInputStream(“E:\123.txt”);
// 转换为字符流
InputStreamReader isr = new InputStreamReader(fis);
int temp = 0;
while ((temp = isr.read()) != -1) {
System.out.print((char) temp);
}
// 先开启的后关闭
isr.close();
fis.close();
1.2缓冲流
提高效率,提供readLine(),newLine(),整行操作,换行,读和写有缓冲部分,flush刷新缓存将内存数据写入磁盘
1.2.1BufferedReader
字符输入缓冲流
//字节输入流
FileInputStream fis=new FileInputStream(“E:\123.txt”);
//转字符
InputStreamReader isReader=new InputStreamReader(fis);
//转缓存
BufferedReader br=new BufferedReader(isReader);
//遍历
String temp=null;
//String readLine()读取一整行
while ((temp=br.readLine())!=null) {
System.out.println(temp);
1.2.2BufferedWriter
//字符输出流
FileWriter fw=new FileWriter(“E:\1234.txt”);
//字符缓冲流
BufferedWriter bw=new BufferedWriter(fw);
bw.write(“owsfhie”);
//换行
bw.newLine();
bw.flush();
bw.close();
1.3打印流
1.3.1概述
打印是输出最方便的类,字节流打印PrintStream,字符流打印PrintWriter
1.3.2使用方式
FileOutputStream fos = new FileOutputStream(“E:\123.txt”);
// 创建打印流,方便输出操作
PrintStream ou1 = new PrintStream(fos);
// 使用原始的字节输出流,操作麻烦,并且类型受限
fos.write(“开始执行…”.getBytes());
// 打印流中,封装了操作,使操作更加方便,另外有很多print方法重载,支持所有类型
ou1.println(“开始执行…”);
ou1.println(true);
ou1.println(1);
ou1.println(1.2);

			// System 提供了 设置 out打印路径的方法
			System.setOut(ou1);
			// 下面所有的打印语句,都是向指定文件打印
			System.out.println("aadfreg");			

1.3.3文件复制
//文件复制
//文件读取,数据写出,输入输出路径不能一样
//字节输入
FileInputStream fis=new FileInputStream(“E:\123.txt”);
//字节输出
FileOutputStream fos=new FileOutputStream(“E:\12345.txt”);
//字节打印
PrintStream ps=new PrintStream(fos);
byte []bytes=new byte[1024];
int temp = 0;
// 读数据,返回-1 终止
while ((temp = fis.read(bytes)) != -1) {
// 把读的数据,转换为字符串
String value = new String(bytes, 0, temp);
// 打印指定数据
ps.print(value);
// 把读取到的数据打印(输出)到其他指定地方,就是文件复制
1.4数据流
为了方便地操作Java语言的基本数据类型和String类型的数据,可以使用数据流
数据流有两个类:DataInputStream,DataOutputStream读取和写出,读的顺序必须是写的顺序
1.5对象流
1.5.1概述
ObjectInputStream和ObjectOutputStream
用于存储基本数据类型和对象的处理流
序列化:ObjectOutputStream保存基本数据类型或对象的机制
反序列化:ObjectOutputStream读取基本数据类型数据或对象的机制
不能序列化static和transient修饰的成员变量
1.6File
1.6.1概述
file能新建、删除、重命名文件和目录,但file不能访问文件内容本身
如果需要访问文件内容本身,则需要使用输入输出流
Java中表示一个真实存在的文件或目录,那么必须有一个file对象,但是Java程序中的file对象可能没有一个真实存在的文件或目录
1.6.2构造方法
public File (String pathname)绝对路径或相对路径
public File (String parent,String child)
public File (File parent,String chlid)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值