java 读取文件,内容方置Person 序列化到磁盘,在读入程序并写到另外地址

a.txt 文本内容如下:

name=user
age=34
image=aa.PNG
url=E:\

读入序列化:

package cn.com.test05;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class Person3 implements Serializable{
    private static final long serialVersionUID = 1L;
    String  name;
    int  age;
    String image;
    byte[] imageB;
    String url;
    
    
    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public int getAge() {
        return age;
    }


    public void setAge(int age) {
        this.age = age;
    }


    public String getImage() {
        return image;
    }


    public void setImage(String image) {
        this.image = image;
    }


    public byte[] getImageB() {
        return imageB;
    }


    public void setImageB(byte[] imageB) {
        this.imageB = imageB;
    }


    public String getUrl() {
        return url;
    }


    public void setUrl(String url) {
        this.url = url;
    }


    public String toString(){
        return "我叫"+name+"=="+age+"===="+image;
    }
}
public class t07 {

    public static void main(String[] args) throws Exception {
        String s="da.fsagj";
        Person3 p=new Person3();
        get(p);
       System.out.println(p);
       outObject(s, p);
    }
    
     public static void outObject(String s,Person3 p) throws Exception{
         File f= new File(p.getUrl()+s);
         ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(f));
         oos.writeObject(p);
         oos.close();
     }
     public static byte[] getImage(String s) throws Exception{
         File f= new File("F:\"+s);
         BufferedInputStream bis=new BufferedInputStream(new FileInputStream(f));
         byte[] b=new byte[(int) f.length()];
         bis.read(b);
         bis.close();
         return b;
         
     }
    public static void get(Person3 p) throws Exception{
        File f= new File("F:\a.txt");
        BufferedReader br= new BufferedReader(new FileReader(f));
        p.setName(getValue(br.readLine()));
        p.setAge(Integer.parseInt(getValue(br.readLine())));
        p.setImage(getValue(br.readLine()));
        p.setUrl(getValue(br.readLine()));
        p.setImageB(getImage(p.getImage()));
        br.close();
    }
    public static String getValue(String s){
        return s.split("=")[1];
        
    }
    
}

反序列化写出:

package cn.com.test05;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;

public class t08 {

    public static void main(String[] args) throws Exception {
        String s="da.fsagj";
           Person3 p = getObject(s);
           System.out.println(p);
           out(p);
    }
    public static void outImage(Person3 p) throws Exception{
         File f= new File(p.getUrl()+p.getImage());
         BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(f));
         bos.write(p.getImageB());
         bos.close();
    }
    public static void out(Person3 p) throws Exception{
         File f= new File(p.getUrl()+"ab.txt");
         BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(f));
         bos.write(p.toString().getBytes());
         outImage(p);
         bos.close();
    }
    public static Person3 getObject(String s) throws Exception{
         File f= new File("E:\"+s);
         ObjectInputStream ois=new ObjectInputStream(new FileInputStream(f));
        Person3 p = (Person3)ois.readObject();
        ois.close();
        return p;
     }
}
原文地址:https://www.cnblogs.com/anholt/p/3656185.html