对象流:
首先,对象流指的是可以直接把一个对象以流的形式传输给其他的介质,比如硬盘
一个对象以流的形式进行传输,叫做序列化。 该对象所对应的类,必须是实现Serializable接口
1、实操:
序列化一个对象:
需要导入这两个包
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
Object 就是一个大类 对象流的创建需要
创建的对象保存于文件上 且这个文件时事先准备好的 务必让这个对象的类实现Serializable接口
之后的写法和以往的流的形式写法一致 但是类型是类类型 同理也是建立在字节流基础上再创建对象流
细节部分:
关于BufferedWriter和PrintWriter的区别
用代码运行示例:
package le; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class digital{ public static void main(String[] args) { File f=new File("D:\\Jproject\\流.txt"); try( FileWriter fx=new FileWriter(f); BufferedWriter sf=new BufferedWriter(fx); PrintWriter wf =new PrintWriter(fx); ) { String str="dio自有迹象"; sf.write(str); sf.flush(); wf.println("sododjjd"); }catch(IOException e) { e.printStackTrace(); } } }
有 sf.flush(); 才会把两种写入方法都展现
如果不写 sf.flush(); 就只有wf.println(“sododjjd”);这一句
因为BufferedWriter sf=new BufferedWriter(fx); 需要flush强制写入
PrintWriter好处就在不用这样。
注意:
1、char ch[]=new char[(int)file.length()]; 此种语句在针对读取写入时都会有的 其长度是文件长度但是注意转型为int。
2、注意数字转字符串 字符串转数字怎么写
封装Integer 再toString 数字转字符串
字符串放入Integer.parseInt();里面转数字。