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
  • 相关阅读:
    回顾2012
    静态变量与非静态变量的区别
    本地计算机的XXX服务启动后又停止了
    计算包含特殊字符的字符串的字符个数
    Convert与Parse的区别
    SPSS课程学习思路及流程
    市场分析与数据挖掘分别的分析流程
    用R做逻辑回归之汽车贷款违约模型
    用R去做文本处理
    SyntaxError: Missing parentheses in call to 'print
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12114157.html
Copyright © 2011-2022 走看看