JAVA如何用IO流保存(IO流---特殊操作流)
标准输入输出流
System类中有两个静态的成员变量:
- public static funal InputStream in:标准输入流,通常该流对应于键盘输入或由主机环境或用户指定的另一个输入源
- public static final PrintStream out:标准输出流,通常该流对应于显示输出或由主机环境或用户指定的另一个输出目标
自己实现键盘录入数据:
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
Java提供了一个类实现键盘录入
- Scanner sc = new Scanner(System.in)
输出语句的本质:是一个标准的输出流
- PrintStream ps = System.out;
- PrintStream类由的方法,System.out都可以使用
打印流分类:
- 字节打印流:PrintStream
- 字符打印流:PrintWriter
打印流的特点:
- 只负责输出数据,不负责读取数据
- 由自己的特有方法
字节打印流:
- PrintStream(String fileName):使用指定的文件名创建新的打印流
- 使用继承父类的方法写数据,查看的时候回转码,使用自己的特有方法写数据,查看的数据原样输出
字符打印流PrintWriter的构造方法:
对象序列化流对象序列化:就是讲对象保存到磁盘中,或者在网络中传输对象
这种机制就是使用一个字节序列表示一个对象,该字节对象包含:对象的类型,对象的数据和对象中存储的属性等信息,字节序列写到文件以后,相当于文件中持久保存了一个对象的信息
反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化
要实现序列化和反序列化就要使用对象序列化流和对象反序列化流:
- 对象序列化流:ObjectOutputStream
- 对象反序列化流:ObjectInputStream
对象序列化流:ObjectOutputStream
- 将Java对象的原始数据类型和图形写入OutputStream,可以使用ObjectInputStream读取(重构)对象,可以通过使用流的文件来实现对象的持久存储,如果流是网络套接字流,则可以再另一个主机上或另一个进程中重构对象
构造方法:
- ObjectOuputStream(OutputStream out):创建一个写入指定的OutputStream的ObjectOuputStream
序列化对象的方法:
- void writeObject(Object obj):将指定的对象写入ObjectOutputStream
注意:
- 一个对象要想被序列化,该对象所属的类必须实现Serializable接口
- Serializable是一个标记接口,实现该接口,不需要重写任何方法
对象反序列化流:ObjectInputStream
- ObjectInputStream反序列化先前使用ObjectOutputStream编写的原始数据和对象
构造方法:
- ObjectInputStream(InputStream in):创建从指定的InputStream读取的ObjectInputStream
反序列化对象的方法:
- Object readeObject():从ObjectInputStream读取一个对象
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com