相关流的学习-Java基础学习总结

7月24日学习内容总结

高效字符流: BufferedWriter/BufferedReader
BufferedReader特有的方法:readLine()//一次读取一行
BufferedWriter特有的方法:newLine()//写一个换行符


其他流介绍:

数据输入输出流

数据输入流: DataInputStream()
数据输出流: DataOutputStream()
特点: 可以写基本数据类型,可以读取基本数据类型

内存操作流的概述

a:操作字节数组
ByteArrayOutputStream()
ByteArrayInputStream()
此流关闭无效,所以无需关闭
b:操作字符数组
CharArrayWrite()
CharArrayReader()

标准输入输出流

在System这个类中存在两个静态的成员变量:

  • public static final InputStream in: 标准输入流, 对应的设备是键盘
  • public static final PrintStream out: 标准输出流 , 对应的设备就是显示器
    新式键盘录入方法:new BufferedReader(new InputStreamReader(System .in))
随机访问流

RandomAccessFile最大特点 能读能写
RandomAccessFile类不属于流,是Object类的子类。但它融合了InputStream和OutputStream的功能。
支持对随机访问文件的读取和写入。
有一个文件指针,能够记录文件读写位置(适合于断点下载)
特有方法:seek(0)方法;将指针放在首位;getFilePointer()获取文件指针:
注:当写入字符串时,会先写入两个字节;

字节打印流

只操作目的地,不关联源文件
PrintStream : new PrintStream(new FileOutputStream(“文件名”));//只能用于输出,
PrintStream out= System.out;//打印在控制台

字符打印流

PrintWriter: new PrintWriter(new FileOutputStream(“文件名”),true);//此时需要调用println()否则需要手到刷新;
注:字符流每次需要刷新;

序列化流和反序列化流

序列化流:把对象保存在硬盘上 要求:要求该类必须实现Serializable接口后,才可正常序列化
反序列化流 :把对象读取到内存中
ObjectOutputStream :序列化
特有的方法:writeObject()
ObjectInputStream:反序列化
特有的方法:readObject()
当不想对某个成员变量序列化:可以添加关键字 transient来修饰,此时打印出后是该值类型的默认值;
注:为了防止在读取时,目标地址不一致:提前固定好ID:public static final long serialVersionUID = 42L;

Properties

属于双列集合,这个集合中的键和值都是字符串 Properties不能指定泛型
Properties的特殊功能

  • public Object setProperty(String key,String value)
  • public String getProperty(String key)
    读取配置文件:
    load();数据读入集合,要求配置文件键值等号连接
    store():把集合中的数据写入文件
SequenceInputStream

表示其他输入流的逻辑串联。
构造方法
SequenceInputStream(InputStream s1, InputStream s2)
SequenceInputStream(Enumeration<? extends InputStream> e)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值