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。回去再看看文档。下班咯

 

别再手动备份了!用Python脚本批量导出华为/华三交换机配置(附完整代码) 本文详细介绍了如何使用Python脚本实现华为/华三交换机配置的自动化备份,大幅提升网络运维效率。通过paramiko库建立SSH连接,结合pandas处理设备清单,实现配置的批量导出与规范化存储,解决传统手动备份耗时易错的问题。 阅读详情

相关推荐

自抗扰控制(ADRC)原理与MATLAB实现详解

自抗扰控制(ADRC)是一种先进的鲁棒控制策略,其核心在于通过扩张状态观测器(ESO)实时估计并补偿系统总扰动。相比传统PID控制,ADRC不依赖精确数学模型,特别适合处理非线性、时变系统。从控制原理看,ADRC将系统内部动态和外部扰动统一建模,通过带宽参数化方法实现快速响应与强抗扰能力。在工程实践中,ADRC已成功应用于无人机飞控、伺服系统等场景,MATLAB仿真显示其上升时间可比PID提升46%,抗扰动恢复时间缩短60%。典型实现包含ESO设计、扰动补偿和PD控制三部分,参数整定遵循ω₀=3~5倍系统带

weixin_33585822的博客 95

如何将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

信息安全与技术——(十一)恶意代码检测与防范技术

恶意代码(Malicious Code )或恶意软件(Malware )主要是指以危害信息的安全等不良意图为目的的程序,它们一般潜伏在受害计算机系统中实施破坏或窃取信息。

m0_63853448的博客 5991

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

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

weixin_45966674的博客 1574

那些年对支付宝的研究[整理]

支付宝功能强大.他内部各个功能间的跳转是通过Uri 实现的.而使用window.location.href 即可.跟浏览器一样的协议.很方便 H5启动支付宝: alipays://platformapi/startapp?appId=20000067&url=网址 alipays://platformapi/startapp?appId=20000691&url=网址 ali...

技术专研 8917

Dify+MCP Server打造禅道AI智能助手

Dify AI与MCP Server结合打造的禅道AI智能助手,实现了项目管理智能化升级。该方案通过大语言模型和自动化工作流,提供四大核心功能:1)自动化报表生成,支持多维度数据统计与可视化;2)禅道系统管理操作,简化产品/项目/任务管理流程;3)基于知识库的智能问答系统;4)数据库灵活查询与可视化输出。系统采用分层架构,通过MCP协议实现AI与数据源解耦,解决了传统禅道在数据孤岛、工具碎片化等问题。实际应用验证了其在用户管理、任务创建、Bug处理等场景的高效性,显著提升了项目管理效率。

oNew_Lifeo的博客 1708

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

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

weixin_36378669的博客 800

Obsidian免费同步全攻略:手把手教你用OneDrive+Remotely Save插件跨设备同步笔记

本文提供了一份详细的Obsidian免费同步方案指南,核心是利用OneDrive云存储与Remotely Save插件实现跨设备笔记同步。文章手把手教学,涵盖插件安装、OneDrive授权配置、桌面端与移动端的同步设置,并解答了常见问题,帮助用户在不依赖官方付费服务的情况下,构建稳定、自主的免费同步工作流。

bash7scripter的博客 849

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

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

平哥的博客 1550

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

本文聚焦OpenClaw从测试环境走向生产环境的核心痛点,围绕“性能优化、安全加固、监控运维”三大维度展开实操讲解。先明确生产环境硬件/系统选型标准,再通过硬件层资源管控、模型调度策略、缓存优化等手段提升响应速度(实测响应效率提升50%+);接着从网络、权限、数据三层构建安全防护体系,集成火山引擎安全方案拦截高危操作;最后落地TenacitOS可视化监控与Prometheus告警体系,配套完整故障排查清单和虚拟实战案例。全文所有配置、代码均经实测验证,兼顾新手入门实操性和进阶读者的生产级部署需求。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 3430

QT 实现QStackedWidget切换页面右移动画

首先截取当前界面的图片,渲染到一个QLabel上,然后设置QPropertyAnimation动画,动画的作用对象就是这个QLabel,不断的改变geometry;当动画结束的时候,隐藏并释放这个QLabel。以下是一个QStackedWidget,放了两个QPushButton在上面,点击切换不同的界面。为了方便查看动画特效,设置了每个界面的背景图片。

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 882

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

VTK GPU 加速渲染技术

/ 创建颜色工具// 创建立方体数据// 创建OpenGL映射器(注意使用vtkOpenGLPolyDataMapper而不是常规的vtkPolyDataMapper)// 启用VBO(顶点缓冲对象)// 声明几何体是静态的以获得最佳性能// 创建actor// 创建渲染器、渲染窗口和交互器renderWindow->SetWindowName("VTK自定义着色器示例");// 添加actor到渲染器。

深之JohnChen的专栏 1242

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

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

进步了么? 3266

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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、付费专栏及课程。

余额充值