四套读取方案

第一套:字节流读取写入方案

FileInputStream :字节流方式读取文本文件

FileOutputStream:字节流写入硬盘

第二套:字符流读取写入方案

FileReader:字符流读取文本

FileWriter:字符流写入文本

BufferedReader:自定义缓存大小,读取文本 8192个char

BufferedWriter:写入文本

一般和FileReader和FileWriter结合使用

第四套:可以读取二进制(img图片等 )

DataInputStream:将本地的img加载到内存中

DataOutputStream::将内存中的二进制数据写入到硬盘上的某个文件中。

序列化和反序列化:

复制代码
//序列化
        List<Dog> list=new ArrayList<Dog>();
        list.add(new Dog("豆豆",15));
        list.add(new Dog("豆豆2",15));
        F 
        ObjectOutputStream oos=new ObjectOutputStream(fos);
        oos.writeObject(list);
        fos.close();
        oos.close();
        System.out.println("序列化成功!");
 反序列化
 FileInputStream fis=new FileInputStream("save.bin");
        ObjectInputStream ois=new ObjectInputStream(fis);
        List<Dog> list=(List<Dog>)ois.readObject();
        for (Dog dog : list) {
            System.out.println(dog.getName());
}
注意点:
01.如果自定义类需要被序列化,那么必须实现Serializable接口
02.禁止某个属性被序列化
使用transient修饰
比如:
transient public String msg
原文地址:https://www.cnblogs.com/6zhi/p/5564099.html