IO流概述

IO流

1.IO概述

​ **概述:**用于设备间数据传输的操作

分类:

​ 1.流向

​ 输入流:读取操作

​ 输出流:写出操作

​ 2.数据类型

​ 字节流

​ 字节输入流

​ 字节输出流

​ 字符流

​ 字符输入流

​ 字符输出流

注意:

​ 1.如果文件用记事本打开,内容能够读懂,就用字符流,读不懂就用字节流。实在不知道用什么流的话就用字节流。

2.FileOutputStream 字节输出流

操作步骤:

				1.  创建字节流对象

FileOutputStream fos = new FileOutputStream(“fos.txt”);

​ 2.调用write()

fos.write(“Hello”.getBytes());

​ 3.释放资源

fos.close

注意:

​ 1.如何换行,如何在文件中追加内容

3.FileInputStream 字节输入流
操作步骤:
1.创建字节流对象

​ FileInputStream fis = new FileInputStream(“fos.txt”);

2.调用read()方法
//方式1:一次读取一个字节
int content = 0 ;
while((content = fis.read())!=-1){
    System.out.println((char)content)
}

//方式2:一次读取一个字节数组
byte[] bytes = new byte[1024];
int len = 0 ;
while((len=fis.read(bytes))!=-1){
    System.out.println(new String(bytes,0,len))
}
    

3.释放资源

fis.close

4.字节缓冲流

BufferedOutputStream

BufferedInputStream

5.字符流
5.1 字符转换流
  1. 字符流 = 字节流 + 编码表
  2. 编码表:ASCII ,GBK,GB2312,UTF-8
5.2 OutputStreamWriter

OutputStreamWriter(OutputStream os):没有指定编码集,就采用默认编码集:UTF-8

OutputStreamWriter(OutputStream os , String charsetName )指定编码集

5.3 InputStreamReader

InputStreamWriter(OutputStream os):没有指定编码集,就采用默认编码集:UTF-8

InputStreamWriter(OutputStream os , String charsetName )指定编码集

5.4 字符流

Writer

​ FileWriter

Reader

​ FileReader

6.标准输入输出流

in:标准输入流—inputStream

out:标准输出流—PrintStream

7.打印流

字节打印流–PrintStream

字符打印流–PrintWriter

特点:

​ 1.只负责输出数据,不负责读取数据
​ 2.它有自己特有的方法

8.序列化流d

**序列化流:**把对象按照流的方式存入到文件中或在网络中传输。 对象----》流数据-ObjectOutputStream

**反序列化流:**把文件中的流数据或网络传输中的流数据还原成对象。 流数据----》对象-ObjectInputStream

如何实现序列化:

​ 让被序列化的对象所属的类实现序列化接口。这个接口是一个标记接口。

注意

UID:如果你不固定UID,你每次修改类文件时,都会相应的生成新的UID,这样你就需要重新执行对象的序列化和反序列化操作。

​ **transient:**不想被序列化的属性可以用它来修饰

6.Properties类

1.它是一个集合类,HashTable的一个子类。它的数据存储类似于Map集合,并且它的key和value都是String.

2.特有方法

public Object setProperty(String key,String value):添加元素
public String getProperty(String key):根据键获取值
public Set<String> stringPropertyNames():获取键集合

3.与IO流结合使用 的方法

public void load(Reader reader):将文件中的数据写入到集合中----指定数据源
public void store(Writer writer,String comments):将集合中的数据写入到文件中---指定目的地
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安宁#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值