- 前言
- 对象序列化
- InputStream
- OutputStream
第一篇博客,用于记录Java中的IO流使用方法,学习粗浅,如有谬误,欢迎指出。
IO类一般都有Exception,使用时需包含在try/catch内进行异常处理。
对IO流的一些理解,串流主要有两个属性,转换的方向与转换的类型,比如FileInputStream,从文件中读取字节码并转换为串流;ObjectInputStream,将串流转换为对象。
如果要让类能够被序列化,就要实现Serializable接口(implements),序列化会存储类的变量。
如果某个变量不需要进行序列化,可以通过transient(瞬时)进行标记,复原时由系统赋予默认值。
如果要求某个对象可以序列化,则它的整个对象版图都要能被序列化。
如果某个类可以被序列化,那它的子类也自动地可以被序列化。
如果某个类可以被序列化,它的父类不能被序列化,则子类的变量可以正常被序列化,它父类的变量会重新执行初始化。
// 创建从文件读取串流的对象,默认路径在项目目录 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();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)