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

 

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://xiahunao.cn/news/3030023.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch:RBAC 和 RAG - 最好的朋友

作者:来自 Elastic Jeff Vestal 检索增强生成 (RAG) 通过提供额外的上下文或信息来增强大型语言模型 (LLM) 的知识,从而提高响应质量。 尽管 LLMs 拥有令人印象深刻的能力,但也有其局限性,例如无法在培训后保留新信息以及对不熟悉…

软考网络工程师 第六章 第三部分 第三节 流量控制和拥塞控制

TCP流量控制 流量控制:为了防止发送方防止发送速度过快,导致接受方处理不过来,造成丢包重传,浪费网络资源 TCP流量控制机制:可变大小的滑动窗口 TCP滑动窗口机制 TCP拥塞控制 例题: TCP采用拥塞窗口&am…

Ubuntu意外断电vmdk损坏--打不开磁盘“***.vmdk”或它所依赖的某个快照磁盘。

背景:电脑资源管理器崩溃卡死,强行断电重启,结果虚拟机打不开了,提示打不开磁盘“***.vmdk”或它所依赖的某个快照磁盘。 删除lck文件:失败vmware-vdiskmanager修复 :提示无法修复最终用 VMFS Recovery挂载…

ipv4手动设置网络的相关知识

基本知识 1.IP地址 IP地址 网络地址 主机地址(又称:主机号和网络号组成) 192.168.100.168(IP地址) 192.168.1.0 (网络地址) 0.0.0.168(主机地址) 2.家庭网络基础组成 3.子网掩码 作用:告诉计算机哪…

开源相机管理库Aravis例程学习(七)——chunk-parser

开源相机管理库Aravis例程学习(七)——chunk-parser 简介例程代码函数说明arv_camera_create_chunk_parserarv_camera_set_chunksarv_chunk_parser_get_integer_value 简介 本文针对官方例程中的:05-chunk-parser做简单的讲解。并介绍其中调…

【JavaScript】内置对象 - 数组对象 ① ( 数组简介 | 数组创建 | 数组类型检测 )

文章目录 一、数组对象1、数组简介2、数组创建3、数组检测 - Array.isArray() 方法4、数组检测 - instanceof 运算符 Array 数组对象参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array 一、数组对象 1、数组简介 在 JavaScr…

3d gaussian-splatting源码运行及结果展示

笔者是在windows下配置的环境 源码地址及官方教程 github gaussian-splatting 官网给出了详细的配置教程和视频解说 记录一下个人的部署过程 环境需求 硬件需求 具有计算能力 7.0 的带有CUDA的GPU 24G显存 软件需求 python版本我没注意到明确说明,3.7以上应…

c++高级篇(一) —— 初识Linux下的进程控制

linux的信号 信号的概念 在Linux中,信号是一种用于进程间通信和处理异步事件的机制,用于进程之间相互传递消息和通知进程发生了事件,但是,它不能给进程传递任何数据。 信号产生的原因有很多种,在shell中&#xff0c…

三、配置带HybridCLR的ARCore开发环境

预告 本专栏将介绍如何使用这个支持热更的AR开发插件,快速地开发AR应用。 专栏: Unity开发AR系列 插件简介 通过热更技术实现动态地加载AR场景,简化了AR开发流程,让用户可更多地关注Unity场景内容的制作。 “EnvInstaller…”支…

代码覆盖率:度量软件质量的关键指标

一、引言 代码覆盖率是衡量软件测试质量的一个重要指标,它描述了测试用例覆盖了多少代码。高的代码覆盖率可以帮助我们增加对软件质量的信心,并发现潜在的问题。在本文中,我们将深入探讨代码覆盖率,并通过实例来演示如何计算和提…

多目标跟踪入门介绍

多目标跟踪算法 我们也可以称之为 Multi-Target-Tracking (MTT)。 那么多目标跟踪是什么? 不难看出,跟踪算法同时会为每个目标分配一个特定的 id 。 由此得出了目标跟踪与目标检测的区别(似乎都是用方框来框出目标捏…

番外篇 | 利用PyQt5+YOLOv5来搭建目标检测系统(附可视化界面+功能介绍+源代码)

前言:Hello大家好,我是小哥谈。PyQt5是一个Python绑定的Qt库,是用于创建图形用户界面(GUI)和其他应用程序组件的工具包。PyQt5提供了许多GUI元素,如按钮、文本框、标签等,也提供了许多Qt的功能,如网络、数据库、XML等。通过PyQt5可以在Python中使用Qt的丰富功能和强大的工…

jenkins使用gitLab(极狐)认证登陆

jenkins安装 GitLab Authentication插件 我因为java版本和最新GitLab Authentication 1.19版本不兼容,选择了本地安装 找个历史版本1.13版本,然后下载到电脑上 - 本地上传插件并安装 在极狐上创建一个应用 - 配置应用信息 应用名:jenkinsLo…

OC foudation框架(下)的学习

OCfoudation框架(下) 前面学习了有关OCfoudation框架的部分内容,我们现在对于后面的内容继续学习。 文章目录 OCfoudation框架(下)数组(NSArray和NSMutableArray)对集合元素整体调用方法排序使用…

弱监督语义分割-对CAM的生成过程进行改进1

一、仿射变换图像结合正则项优化CAM生成 论文:Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation (CVPR,2020) 1.SEAM方法 孪生网络架构(Siamese Network Architecture&#xff09…

【网络编程】UDP协议和TCP协议1

UDP协议格式 UDP 报文分为 UDP 报头和 UDP 数据区两部分。报头由 4 个 16 位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度和校验值。 UDP协议如何将报头和有效载荷分离 UDP报头是一种定长报头,长度为8个字节。…

kaldi学习参考

HMM模型 https://www.cnblogs.com/baixf-xyz/p/16777438.htmlhttps://www.cnblogs.com/baixf-xyz/p/16777438.htmlGMM-HMM 基于GMM-HMM的语音识别系统https://www.cnblogs.com/baixf-xyz/p/16777439.html https://www.cnblogs.com/baixf-xyz/p/16777426.htmlhttps://www.cnbl…

全网最详细使用war包的方式结合Tomcat和向量数据库PostgreSQL本地部署Xwiki教学

部署 XWiki 在 CentOS 7 上的过程涉及多个步骤,主要包括安装环境依赖、配置数据库以及安装和配置XWiki。以下是一个详细的步骤说明: 1. 系统准备 首先,确保您的系统是最新的: sudo yum update2. 安装 Java 这里需要注意一下版本…

【静态分析】软件分析课程实验A4-类层次结构分析与过程间常量传播

官网:作业 4:类层次结构分析与过程间常量传播 | Tai-e 参考:https://www.cnblogs.com/gonghr/p/17984124 ----------------------------------------------------------------------- 1 作业导览 为 Java 实现一个类层次结构分析&#xf…