java中将对象写入文件

        前两天无意中发现java中可以把对象写入文件(因为平时没太注意,所以没有发现,其实这也是team leader叫我们翻译C#代码的时候发现的)。正好今天晚上闲着无聊,就来看看这个是怎么回事了。

        java的IO包当中提供了,向文件中写入文件和读取文件的方法。好吧,来看下具体怎么回事吧。我们先写一个像文件当中写单个对象的方法吧。

 

public void writeObject() {
		try {
			
			HashMap<String,String> map = new HashMap<String,String>();
			map.put("name", "foolfish");
			
			
			FileOutputStream outStream = new FileOutputStream("E:/1.txt");
			ObjectOutputStream objectOutputStream = new ObjectOutputStream(outStream);
			
			objectOutputStream.writeObject(map);
			outStream.close();
			System.out.println("successful");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 

 这里我们将一个map对象插入一个txt文件当中。java的IO包当中提供了Object的文件流。代码很简单,我们下面来看一看从该文件当中读取这个对象吧

 

public void readObject(){
		FileInputStream freader;
		try {
			freader = new FileInputStream("E:/1.txt");
			ObjectInputStream objectInputStream = new ObjectInputStream(freader);
			HashMap<String,String> map = new HashMap<String,String>();
			 map = (HashMap<String, String>) objectInputStream.readObject();
			
			 System.out.println("The name is " + map.get("name"));
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

 

       代码也很简单,我们使用ObjectInputStream 的readobject的就可以读取文件中的对象,再按照封装对

象时候的类型进行强制转换一下。输出结果是aa foolfish。

       上面提供的是对单个对象的存入和读取。对多个不同的对象该方法也适用。还是用代码来说明下吧。我们同时插入两个不同的对象,一个map,一个list。

public class ObjectToFile {
	public void writeObject() {
		try {
			
			HashMap<String,String> map = new HashMap<String,String>();
			map.put("name", "foolfish");
			
			List<String> list = new ArrayList<String>();
			list.add("hello");
			list.add("everyone");
			
			
			FileOutputStream outStream = new FileOutputStream("E:/1.txt");
			ObjectOutputStream objectOutputStream = new ObjectOutputStream(outStream);
			
			objectOutputStream.writeObject(map);
			objectOutputStream.writeObject(list);
			outStream.close();
			System.out.println("successful");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public void readObject(){
		FileInputStream freader;
		try {
			freader = new FileInputStream("E:/1.txt");
			ObjectInputStream objectInputStream = new ObjectInputStream(freader);
			HashMap<String,String> map = new HashMap<String,String>();
			 map = (HashMap<String, String>) objectInputStream.readObject();
			 ArrayList<String> list = new ArrayList<String>();
			 list = (ArrayList<String>) objectInputStream.readObject();
			 System.out.println("The name is " + map.get("name"));
			 System.out.println("aa " + list.get(1));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	
	public static void main(String args[]){
		ObjectToFile of = new ObjectToFile();
		of.writeObject();
		of.readObject();
	}
}

 怎么样,运行一下,可以实践该功能吧。不过这里还有个问题,对于多个相同类型对象的方法可以写入,但是读取的方法暂时还没有找到,不过既然能写进去,那么也应该可以读取出来。恩,是这样的,hoho。回去再看看文档。下班咯

 

如何利用CN3791实现太阳能电池板对锂电池的高效充电管理 本文详细介绍了如何利用CN3791芯片实现太阳能电池板对锂电池的高效充电管理。CN3791集成了MPPT(最大功率点跟踪)功能,能智能调节太阳能板的输出,确保在不同光照条件下获得最大功率。文章涵盖芯片工作原理、外围电路设计、充电全过程管理及实际应用经验,帮助开发者优化太阳能充电系统效率。 阅读详情

相关推荐

告别盲目调参:手把手教你用RKISP2.x Tuner理解AWB、AE、NR等核心模块

本文详细介绍了如何使用RKISP2.x Tuner工具进行ISP调试,重点解析AWB、AE、NR等核心模块的调参技巧。通过RV1126平台的实际操作演示,帮助工程师快速掌握可视化对比实验方法,告别盲目调参,提升图像信号处理效率。

weixin_30300225的博客 393

如何将Java对象读取和写入文件

Java对象序列化是Java库堆栈提供的一种API,用于序列化Java对象。序列化是将对象转换为可写字节流的过程。一旦转换为字节流,就可以将这些对象写入文件。反向过程称为反序列化。 如果Java对象的类或其任何超类实现java.io.Serializable接口或其子接口java.io.Externalizable ,则该对象是可序列化的。 1、Java对象 Person.java package com.mkyong; import java.io.Serializable; public class P

q872792748的博客 1023

别再只盯着GPS了!手把手教你用Python仿真UWB定位,30厘米精度是怎么算出来的?

本文详细解析了UWB(超宽带)室内定位技术的原理与实现,通过Python代码演示如何从三边测量法到实现30厘米精度的定位。文章涵盖了UWB的核心数学模型、Python仿真环境搭建、误差分析及优化策略,为开发者提供了实用的技术指南和应用场景。

weixin_26873711的博客 252

java对象序列化流 将对象写入文件当中

我们先创建了一个对象写入流ObjectOutputStream 参数是一个FileOutputStream实例化出来的一个文件对象 对应的文件在我电脑中是存在的。然后我们通过ObjectOutputStream 的writeObject将实力出来的customException对象写入到文件中 然后通过close释放资源。text测试类和customException类 我们最后要将 customException类对象写入到文件当中。对象序列化流可以写入对象和读取文件中的对象。

weixin_45966674的博客 1574

Keil5芯片包下载后无法识别?手把手排查教程

遇到Keil5芯片包下载后不被识别的问题别慌,常见原因包括安装路径错误或包未正确注册。通过检查Pack Installer状态和手动更新设备支持列表,轻松排查故障,确保开发环境正常运行。

weixin_35459464的博客 879

基于eNSP的小型企业网络设计

在本次计算机网络课程设计中,围绕“小型企业网络搭建”这一主题,成功构建了一个高效、安全且易于管理的企业内部网络。通过本次课程设计,我们不仅掌握了小型企业网络搭建的关键技术和最佳实践,还培养了团队协作和问题解决的能力。本项目所构建的网络系统不仅满足了当前的业务需求,还具备良好的可扩展性和灵活性,为企业未来的数字化转型奠定了坚实的基础。

m0_67403143的博客 1443

java以对象流的方式存入文件_序列化流 把对象以指定的格式写入到文件中保存和读取...

序列化流java提供了一种对象序列化的机制,用一个字节序列可以表示一个对象,该字节序列包含该对象的数据,对象的类型和对象中存储的属性等信息,字节序列写入到文件中后,就相当于在文件中保存了文件对象信息.反之,该字节序列还可以从文件中读取出来,重构对象.对他进行反序列化.对象的数据,对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象,ObjectOutputStream类java.io.Ob...

weixin_36378669的博客 800

数字信号完整性分析:眼图原理与应用指南

眼图是数字信号完整性分析中的核心工具,通过将数字信号在时间域上多次叠加形成类似人眼的图形,直观反映信号质量。其原理基于时钟恢复和波形叠加,能有效展示信号的统计特性,包括上升/下降时间、过冲/下冲等关键参数。在高速数字电路设计中,眼图分析对于评估信号完整性、调试抖动问题至关重要,广泛应用于DDR接口、高速串行链路等场景。通过合理设置示波器参数和采用均衡技术,工程师可以优化眼图表现,提升系统可靠性。本文结合DDR4内存等实际案例,详解眼图的测量方法与常见问题解决方案。

weixin_35459464的博客 344

Java中如何写入和读取单个对象以及序列化(详解!)

FileOutputStream能够对文件操作,而ObjectOutputStream不能直接对文件操作,所以我们需要建立一个外层流FileOutputStream,建立与文件的联系。如果你没有自己设置,那么你的类一旦发生了改变,系统就会自动改变这个类的UID,到那时,你原来写进文件的类就无法读出来了,系统会报错。但是呢,其实io流中还有一种对象流,它呢,能够把一个对象,或者一群对象写入文件当中去。但你自己设置后,就算你把类里面的东西删了很多,依旧可以读出来,系统是不会报错的。

平哥的博客 1550

ArcGIS JSAPI 高级教程 - 添加多个 box 立方体 - 通过顶点、索引、UV 自定义每个 box、每个面不同颜色

ArcGIS JSAPI 高级教程 - 添加多个 box 立方体 - 通过顶点、索引、UV 自定义每个 box、每个面不同颜色。

非科班Java出身GISer的博客 401

Go语言面试:面试中经常被问到的50个经典面试题(附参考答案)

Go语言核心知识点摘要 基础语法与数据结构 make和new区别:new分配零值内存返回指针,make初始化引用类型返回实例 Slice底层:包含指针、长度、容量的结构体,多个slice可共享底层数组 nil与空slice:nil指针为nil,空slice指针非nil但JSON编码不同 Map原理:哈希表实现,非线程安全,扩容策略影响性能 for range注意:循环变量是拷贝,map遍历无序 defer执行:LIFO顺序,函数返回前执行 Struct比较:仅当所有字段可比较时才可比较 参数传递:只有值传递

数据知道的博客 4725

java 将map写入文件_java中将list、map对象写入文件

java的IO包当中提供了,向文件中写入文件和读取文件的方法。好吧,来看下具体怎么回事吧。我们先写一个像文件当中写单个对象的方法吧。public void writeObject() {try {HashMap<String,String> map = new HashMap<String,String>();map.put("name", "foolfish");File...

weixin_39901558的博客 1835

基于YOLO26深度学习框架的文档表格识别系统的算法研究实现方法

本文研究了基于YOLO26深度学习框架的文档表格识别系统实现方法。系统采用YOLO26网络架构,通过数据预处理、模型训练、检测推理和表格分析四个模块实现高效表格识别。研究详细阐述了数据归一化、增强等技术处理,以及采用迁移学习策略优化模型训练过程。实验表明,该系统能有效识别多种表格结构并生成结构化数据,为文档自动化处理提供了可靠解决方案。

一键难忘的博客 972

java中将list、map对象写入文件

java的IO包当中提供了,向文件中写入文件和读取文件的方法。好吧,来看下具体怎么回事吧。我们先写一个像文件当中写单个对象的方法吧。  public void writeObject() { try { HashMapString,String> map = new HashMapString,String>(); map.put("name", "foolfish");

进步了么? 3266

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java map 文件_java中将list、map对象写入文件

java的IO包当中提供了,向文件中写入文件和读取文件的方法。好吧,来看下具体怎么回事吧。我们先写一个像文件当中写单个对象的方法吧。public void writeObject() {try {HashMap<String,String> map = new HashMap<String,String>();map.put("name", "foolfish");File...

weixin_39903872的博客 443

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java 将list写到文件_java中将list、map对象写入文件

java的IO包当中提供了,向文件中写入文件和读取文件的方法。好吧,来看下具体怎么回事吧。我们先写一个像文件当中写单个对象的方法吧。public void writeObject() {try {HashMap<String,String> map = new HashMap<String,String>();map.put("name", "foolfish");File...

weixin_36391252的博客 1220

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java 导出到文件 对象_如何在Java中将多个对象结果写入一个输出文本文件?

我有多个对象具有不同的输出,我想将所有结果打印在一个文本文件中,并且每个对象的结果都在一行上,而不会覆盖任何值.我写了下面的代码;但是,输出文本文件仅保存最后一个对象(Object2)的值.我希望输出文件将结果保存如下:Q = 1Q = 2import java.io.FileNotFoundException;import java.io.PrintWriter;public class Out...

weixin_28717431的博客 450

如何用Java将对象写入文件

Java对象可以写入文件以供将来访问,这称为序列化 。 为此,您必须实现Serializable接口,并使用ObjectOutputStream将对象写入文件。 FileOutputStream fout = new FileOutputStream("c:\\temp\\address.ser"); ObjectOutputStream oos = new ObjectOutputStre...

一名可爱的技术搬运工 5145

java 写string至指定文件

如何在Java中将String写入指定文件 作为一名经验丰富的开发者,我将指导你如何在Java中将String写入指定文件。首先,让我们整理一下这个过程的步骤: 步骤 描述 1 创建文件对象 2 创建文件写入流 3 将String写入文件 4 关闭文件写入流 接下来,让我们逐步解释每个步骤需...

weixin_41351440的博客 236

Java中将json对象保存到本地文件中

Java中将json对象保存到本地文件中 实践笔记之一++++ 废话不多,直接上代码: // Args in JSON format String myArgs = String.format("{\"end_date\": \"%s\", \"page_size\": \"%s\", \"start_date\": \"%s\", \"advertiser_id\": \"%s\", \"group_by\": %s, " + "\"page.

weixin_46007404的博客 2982

java将字节流转换为文件

Java将字节流转换为文件 在Java编程中,经常需要将字节流转换为文件,以便进行进一步的处理或存储。字节流是一种数据传输方式,它将数据以字节为单位进行传输。本文将详细介绍如何使用Java将字节流转换为文件,并提供代码示例。 什么是字节流 字节流是Java中一种基本的数据传输方式,它可以传输任何类型的数据。在Java中,字...

weixin_35642637的博客 1402

java输出为文件

我整理的一些关于【Java】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/bLN8S1如何使用Java将输出保存为文件 在现代软件开发中,常常需要将程序输出的数据保存到文件中,以便后续处理、分析或存档。对于新手开发者而言,这一过程可能显得有些复杂,但其实只需遵循几个简单的步...

weixin_42131890的博客 428
上一篇: Myeclipse下使用svn进行源码管理
下一篇: lucene中给数据库做索引
refactaar
博客等级 码龄17年 0粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值