【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 + "]"; } }
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); } }
作者:奔跑的金鱼
声明:书写博客不易,转载请注明出处,请支持原创,侵权将追究法律责任
个性签名:人的一切的痛苦,本质上都是对自己无能的愤怒
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!