[Java] BigData basis _DataOutputStream and DataInputStream

Brief introduction

DataOutputStream is a packet stream, he can be a variety of types of data transfer, said data bytes further internal bytes, then use the write FileOutputStream file, read the file contents DataInputStream principle similar thereto.

The following is a written using DataOutputStream object file, and reads from the file operation

Code section

package cn.test.logan.day10;

public class User {
    String id;
    String name;
    float sal;
    String addr;
    
    public User(){
        
    }
    
    public User(String id, String name, float sal, String addr) {
        super();
        this.id = id;
        this.name = name;
        this.sal = sal;
        this.addr = addr;
    }

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getSal() {
        return sal;
    }
    public void setSal(float age) {
        this.sal = sal;
    }
    public String getAddr() {
        return addr;
    }
    public void setAddr(String addr) {
        this.addr = addr;
    }
    @Override
    public String toString() {
        return "[id=" + id + ", name=" + name + ", sal=" + sal + ", addr=" + addr + "]";
    }
    
}
User.java
package cn.test.logan.day10;

import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

public class DataStreamDemo {
    public static void main(String[] args) throws Exception {
        
        // 生成2个user对象
        User u1 = new User("01","张三",10000f,"中国");
        User u2 = new User("02","李四",2000f,"日本");
        DataOutputStream dos = new DataOutputStream(new FileOutputStream("d:/user.dat"));
        dos.writeUTF(u1.getId());
        dos.writeUTF(u1.getName());
        dos.writeFloat(u1.getSal());
        dos.writeUTF(u1.getAddr());
        
        dos.writeUTF(u2.getId());
        dos.writeUTF(u2.getName());
        dos.writeFloat(u2.getSal());
        dos.writeUTF(u2.getAddr());
        
        // 读取存入到文件中的内容
        DataInputStream dis = new DataInputStream(new FileInputStream("d:/user.dat"));
        String u1_id = dis.readUTF();
        String u1_name = dis.readUTF();
        float u1_sal = dis.readFloat();
        String u1_addr = dis.readUTF();
        
        User user1 = new User(u1_id,u1_name,u1_sal,u1_addr);
        User user2 = new User(dis.readUTF(),dis.readUTF(),dis.readFloat(),dis.readUTF());
        System.out.println(user1);
        System.out.println(user2);
        
    }
}
DataStreamDemo.java

 

Guess you like

Origin www.cnblogs.com/OliverQin/p/12114157.html