Continuação do fluxo de IO (fluxo de impressão e serialização de objetos)
Fluxo de impressão
Fluxo de impressão de impressão: apenas a saída sem fluxo de impressão de entrada é dividida em fluxo de impressão de bytes e fluxo de impressão de caracteres
PrintWriter: fluxo de impressão de caracteres
O método de impressão pode imprimir vários tipos de dados
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");
}
}
Fluxo de entrada e saída do objeto
Fluxo de entrada e saída do objeto: a função principal é escrever e ler as informações do objeto. Depois que as informações do objeto são gravadas no arquivo, as informações do objeto podem ser persistidas.
Fluxo de saída do objeto: ObjectOutputStream
fluxo de entrada do objeto: ObjectInputStream
Para salvar o objeto serializado, você precisa salvar o estado do objeto por meio do fluxo de saída do objeto (ObjectOutputStream) e, em seguida, restaurar o estado do objeto por meio do fluxo de entrada do objeto (ObjectInputStream).
Use o método readObject () em ObjectInputStream para ler diretamente um objeto,
O método writeObject () em ObjectOutputStream pode salvar diretamente o objeto no fluxo de saída.
Serialização de objetos
A vida de um objeto geralmente termina com o término do programa que gerou o objeto.
Às vezes, pode ser necessário salvar o estado do objeto e restaurá-lo quando necessário. Isso introduz o conceito de serialização de objetos
O processo de gravar o objeto especificado no arquivo pelo fluxo de saída do objeto é o processo de serializar o objeto.
O processo no qual o fluxo de entrada do objeto lê o arquivo serializado especificado é o processo de desserialização do objeto.
Como o fluxo de saída do objeto grava o objeto no arquivo, é chamado de serialização do objeto, portanto, a interface serializável deve ser implementada.
Não há métodos na interface serializável . Quando uma classe declara implementar a interface Serializable, isso indica que a classe pode ser serializada.
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"));
}
}