Java IO流学习笔记

Java IO流学习笔记,第1张

Java IO流学习笔记

Java IO流学习笔记
  • 前言
  • 对象序列化
  • InputStream
  • OutputStream

前言

第一篇博客,用于记录Java中的IO流使用方法,学习粗浅,如有谬误,欢迎指出。
IO类一般都有Exception,使用时需包含在try/catch内进行异常处理。
对IO流的一些理解,串流主要有两个属性,转换的方向与转换的类型,比如FileInputStream,从文件中读取字节码并转换为串流;ObjectInputStream,将串流转换为对象

对象序列化

如果要让类能够被序列化,就要实现Serializable接口(implements),序列化会存储类的变量。
如果某个变量不需要进行序列化,可以通过transient(瞬时)进行标记,复原时由系统赋予默认值。
如果要求某个对象可以序列化,则它的整个对象版图都要能被序列化。
如果某个类可以被序列化,那它的子类也自动地可以被序列化。
如果某个类可以被序列化,它的父类不能被序列化,则子类的变量可以正常被序列化,它父类的变量会重新执行初始化。

InputStream
// 创建从文件读取串流的对象,默认路径在项目目录
FileInputStream fileStream = new FIleInputStream("文件名");
//创建将串流转为对象的对象
ObjectInputStream is = new ObjectInput(fileStream);
Object ob = is.readObject();//将串流读出为对象,注意返回为Object类型引用,后续需类型转换
is.close();//关闭串流
//创建从文件读取字符的对象
FileReader reader = new FilerReader("文件名");
//创建读取缓冲区对象,可以持续读取直到空为止
BufferedReader bufferedreader = new BufferedReader(reader);
bufferedreader.readLine();//读取一行数据
bufferedreader.close();
OutputStream
// 创建向文件输出串流的对象,默认路径在项目目录
FileOutputStream fileStream = new FileOutputStream("文件名");
//创建将对象转为串流的对象
ObjectOutputStream os = new ObjectOutputStream(fileStream);
os.writeObject(Object ob);//写入对象
os.close();//关闭串流
//创建向文件写入主数据类型变量的对象
FileWriter writer = new FileWriter("文件名");
writer.write("Hello,World!");
writer.close();
//创建写入缓冲区对象,可以多次添加,一次写入
BufferedWriter bufferedwriter = new BufferedWriter(writer);
bufferedwriter.append("one ");
bufferedwriter.append("two");
bufferedwriter.flush();//强制写入缓冲区数据
bufferedwriter.close();

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4828499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存