IO流-其他流:数据流,序列化流

server/2024/11/25 5:24:28/

 

import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;public class DataOutputStream1 {public static void main(String[] args) {//创建一个数据输出流包装一个低级的字节输出流try (DataOutputStream dos=new DataOutputStream(new FileOutputStream("D:\\code\\weilai1\\src\\itheima.txt"));){dos.writeInt(97);dos.writeByte(99);dos.writeChar('中');dos.writeDouble(99.9);dos.writeUTF("世界,你好");} catch (Exception e) {e.printStackTrace();}}
}

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;public class DataInputStream1 {public static void main(String[] args) {try ( DataInputStream dis=  new DataInputStream (new FileInputStream("D:\\code\\weilai1\\src\\itheima.txt"))){int a=dis.readInt();System.out.println(a);byte b=dis.readByte();System.out.println(b);char c= dis.readChar();System.out.println(c);double d= dis.readDouble();System.out.println(d);String rs= dis.readUTF();System.out.println(rs);} catch (Exception e) {e.printStackTrace();}}
}

序列化流

对象序列化:把对象写到Java文件中去

对象反序列化:把文件中的Java对象读出来

 

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;public class ObjectOutputStream1 {public static void main(String[] args) {try(  ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("D:\\code\\weilai1\\src\\itheima1.txt"));) {//创建一个Java对象ObjectUser user=new ObjectUser("admin","zhangsan",26,"12345678");oos.writeObject(user);System.out.println("对象序列化成功了");} catch (Exception e) {e.printStackTrace();}}
}
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;public class ObjectIntputStream1 {public static void main(String[] args) {try ( ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D:\\code\\weilai1\\src\\itheima1.txt"));){ObjectUser ou=(ObjectUser)  ois.readObject();System.out.println(ou);} catch (Exception e) {e.printStackTrace();}}
}

 

import java.io.Serializable;
//注意:对象如果需要序列化,必须实现序列化接口
public class ObjectUser implements Serializable {private String loginname;private String username;private int age;//transient 这个成员变量将不参与序列化private  transient String password;public ObjectUser() {}public ObjectUser(String loginname, String username, int age, String password) {this.loginname = loginname;this.username = username;this.age = age;this.password = password;}public String getLoginname() {return loginname;}public void setLoginname(String loginname) {this.loginname = loginname;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "ObjectUser{" +"loginname='" + loginname + '\'' +", username='" + username + '\'' +", age=" + age +", password='" + password + '\'' +'}';}
}


http://www.ppmy.cn/server/38373.html

相关文章

【MySQL】3.MySQL核心概念解析:数据完整性、事务处理、索引及聚簇索引与非聚簇索引

探索MySQL的内部机制,理解数据完整性、事务处理、索引策略以及聚簇索引与非聚簇索引的区别是至关重要的。这些概念构成了数据库设计和优化的基础,对于确保数据的准确性、提高查询效率、维护数据的一致性和实现复杂的数据库操作至关重要。本文将逐一剖析这…

Pytorch之二

PyTorch是一个流行的深度学习框架,以下是对其优点和缺点的详细解释: 优点: 动态计算图:PyTorch使用动态计算图,与TensorFlow等框架的静态计算图不同。这意味着在PyTorch中,计算图是在运行时构建的&#x…

【Linux】线程的创建、回收分离以及线程的同步互斥

目录 一、多线程的基本编程 二、线程安全(同步互斥) 1.使用互斥锁达到互斥 2.使用互斥锁和条件变量达到线程间的同步互斥 一、多线程的基本编程 线程回收:线程在运行时需要分配内存空间、处理器时间等系统资源,这些资源在线程…

JavaScript异步编程——05-回调函数

我们在前面的文章《JavaScript 基础:异步编程/单线程和异步》中讲过,Javascript 是⼀⻔单线程语⾔。早期我们解决异步场景时,⼤部分情况都是通过回调函数来进⾏。 (如果你还不了解单线程和异步的概念,可以先去回顾上一…

Bookends for Mac:文献管理工具

Bookends for Mac,一款专为学术、研究和写作领域设计的文献管理工具,以其强大而高效的功能深受用户喜爱。这款软件支持多种文件格式,如PDF、DOC、RTF等,能够自动提取文献的关键信息,如作者、标题、出版社等&#xff0c…

入门级python编程题(11)洛谷(最小值)和冒泡排序

题目描述 给出 n 和 n 个整数 ai​,求这 n 个整数中最小值是什么。 输入格式 第一行输入一个正整数 n,表示数字个数。 第二行输入 n 个非负整数,表示a1​,a2​…an​,以空格隔开。 输出格式 输出一个非负整数,表…

面试题分享之Java集合篇(二)

注意:文章若有错误的地方,欢迎评论区里面指正 🍭 系列文章目录 面试题分享之Java基础篇(一)面试题分享之Java基础篇(二)面试题分享之Java基础篇(三) 面试题分享之Java集…

mysql 执行计划中key_len的计算规则

mysql 执行计划中key_len的计算规则 在查看mysql执行计划时,对执行计划中key_len字段计算规则不是很清楚,所以就做了如下资料整理。 -------------------------------------------------------------------------------------------------------------…