IO流续(Print流和对象序列化)

IO流续(Print流和对象序列化)

Print流

Print 打印流:只做输出没有输入 打印流分为字节打印流和字符打印流

PrintWriter:字符打印流

print方法可以打印各种类型数据

package day3;

import java.io.*;
import java.util.Date;

public class printWriteDemo {
    
    
    /*
    * Print流; 单向输出 (从服务器端 向 客户端  浏览器打印输出网页内容)
    * PrintWriter:
    * */
    public static void main(String[] args) throws IOException {
    
    

       PrintStream writer=new PrintStream("D:\\66.txt");

       writer.print("s");
        writer.print("ssssssssssss");
        writer.print("ssssssssss");

    }
}

对象输入输出流

对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息。 对象信息一旦写到文件上那么对象的信息就可以做到持久化了
  对象的输出流: ObjectOutputStream
  对象的输入流: ObjectInputStream

要将序列化之后的对象保存下来,需要通过对象输出流(ObjectOutputStream)将对象状态保存,之后再通过对象输入流(ObjectInputStream)将对象状态恢复。

在ObjectInputStream 中用readObject()方法可以直接读取一个对象,

ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出流中。

对象序列化

对象的寿命通常随着生成该对象的程序的终止而终止。

有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。这就引入了对象序列化的概念

对象的输出流将指定的对象写入到文件的过程,就是将对象序列化的过程,

对象的输入流将指定序列化好的文件读出来的过程,就是对象反序列化的过程。

扫描二维码关注公众号,回复: 12215145 查看本文章

既然对象的输出流将对象写入到文件中称之为对象的序列化,所以必须要实现Serializable接口。

Serializable接口中没有任何方法。当一个类声明实现Serializable接口后,表明该类可被序列化。

package day3;

import java.io.*;
import java.util.Date;

public class ObjectOutputDemo {
    
    
    public static void main(String[] args) throws IOException {
    
    
        OutputStream out=new FileOutputStream("D:\\12.txt");//对象序列化

        ObjectOutputStream objput=new ObjectOutputStream(out);
        Date date=new Date();
        objput.writeObject(date);
        objput.writeObject(new String("ajja"));
    }
}

猜你喜欢

转载自blog.csdn.net/ZJ_1011487813/article/details/111034178