Java学习之I/O流

本文详细介绍了Java.IO中的File类,包括创建、检查和删除文件的方法,以及获取文件路径和名称的操作。此外,还讨论了打印流的概念,指出它们仅用于输出数据,并具有特有的方法。接着,对象序列化流被介绍,强调了实现Serializable接口的重要性。Properties类作为一个能够保存和加载属性到流中的集合类也被讲解,展示了其读写属性的方法。最后,输入输出流的概念被提及。
摘要由CSDN通过智能技术生成

5.24


目录

 

File文件

打印流

对象序列化流

Properties

输入输出流


File文件

  • 文件和目录可以通过File封装为对象

方法名说明
File(String )给定路径名封装为File对象
File(String , String)父路径名和子路径名创建新的File对象
File(File , String)父类和子类结合创建
方法名说明
isDirectory()File是否为空 布尔类型
isFile()File是否为文件 布尔类型
exists()File是否存在 布尔类型
getAbsolutePath()获取绝对地址 String类型
getPath()相对地址 String类型
getName()获取文件或目录的名称 String类型
list()获取文件和目录名称字符串数组 String[]类型
listFiles()获取目录和文件的File对象数组 File[]类型
  • delete()删除方法:目录中有内容不能删除

打印流

  • 字节打印流 PrintStream

  • 字符打印流 PrintWriter

特点

  • 只负责输出数据 不负责读取数据

  • 有自己的特有方法

字节打引流

PrintStream(String fileName)    

对象序列化流

对象序列化:就是将对象保存到磁盘中,或者在网络中传输对象
这种机制就是使用一个字节序列表示一个对象,该字节序列包含:对象的类型,对象的数据,和对象中存储的属性等信息,
字节序列写到文件之后,相当于在文件中持久保存一个对象信息
反之,使用对象反序列化流重构对象,从文件中读取出来
  • 对象序列化流 ObjectOutputStream

  • 对象反序列化流 ObjectInputStream

构造方法

ObjectOutputStream(OutputStream out)

序列化对象的方法

void WriteObject(Object obj)

注意

  • 一个对象想要序列化,该对象的所属的类必须实现Serializable接口

  • Serializable是一个标记接口,实现该接口不需要重写任何方法

对象序列化一些问题

  • 用对象序列化序列化一个对象之后,修改对象所属的类,读取文件会出现问题

  • 可以给所属的类加一个变量

    private static final long serialVersionUID =42L
  • 如果一个对象中的某个成员变量的值不想序列化 给该成员变量加一个transient关键词

Properties

是一个Map体系的集合类
可以保存到流中或者从流中加载

作为集合特有的方法

方法说明
setProperty(String key,String value)设置集合的键和值,底层调用HashTable方法put
geProperty(String key)使用此属性列表中指定的键搜属性
Set<String>stringPropertyNames()获取键集

作为IO流的特有方法

方法说明
load(InputStream in)从输入字节流读取属性列表
load(Reader r)从输入字符流读取属性列表
store(OutputStream out,String s)写入Property表中,写入输入字节流
store(Writer w,String s)写入Property表中,写入输入字符流

输入输出流

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值