zoukankan      html  css  js  c++  java
  • 【BigData】Java基础_DataOutputStream与DataInputStream

    简介

    DataOutputStream是一个包装流,他可以将各种数据类型的数据再内部转称bytes字节,然后利用FileOutputStream写入文件中,DataInputStream读取文件内容的原理与之类似。

    以下是一个使用DataOutputStream将对象写入文件,并且从文件中读取内容的操作

    代码部分

    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
  • 相关阅读:
    7.node.js的3DES 加密和解密的方法封装
    6.js 获取当前日期时间3种格式化方法
    2.深入解析Javascript异步编程
    5.js中的判断if和for
    4.js中的函数与方法
    String、StringBuffer、StringBuilder效率测试
    String、StringBuffer、StringBuilder区别
    StringBuffer常用方法
    SQL面试题
    String字符串拼接
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12114157.html
Copyright © 2011-2022 走看看