对象流:
首先,对象流指的是可以直接把一个对象以流的形式传输给其他的介质,比如硬盘
一个对象以流的形式进行传输,叫做序列化。 该对象所对应的类,必须是实现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();里面转数字。