前两天无意中发现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。回去再看看文档。下班咯
分享到:
相关推荐
总结一下,Java中将对象写入文件涉及到的关键点包括:实现`Serializable`接口、使用`ObjectOutputStream`序列化对象并写入文件、使用`ObjectInputStream`反序列化并读取对象。了解和熟练掌握这些知识点对于进行数据...
Java字符串写入文件三种方式的实现字符串写入文件三种方式的实现主要介绍了Java字符串写入文件三种方式的实现的相关资料,需要的朋友可以参考下Java字符串写入文件三种方式的实现字符串写入文件三种方式的实现。
在Java编程环境中,将...总之,Java中将多个Excel文件打包成ZIP并下载涉及到文件I/O操作、ZIP文件处理以及Web服务响应的设置。理解这些知识点对于Java开发者来说至关重要,尤其在处理大量数据导出或文件分发的场景下。
### 手机移动开发将byte数组写入文件的JAVA代码详解 #### 一、知识点概述 在移动开发领域,特别是Android或J2ME等平台上,经常需要处理数据的读写操作,比如将从网络获取的数据保存到本地文件系统中。本篇文章主要...
6. **反向操作**:如果需要将Java对象转换回XML,可以创建`Marshaller`,然后调用`Marshaller.marshal()`方法将Java对象写入XML文件。 在描述中提到的DTO(数据传输对象)是软件设计模式中的一种,用于在系统组件...
`FileInputStream`可以从文件中读取原始字节,而`FileOutputStream`可以将字节写入文件。我们可以通过这两个类来实现文件内容的复制。 在实现文件复制时,我们通常会使用`BufferedInputStream`和`...
写入文件时,可以使用`FileWriter`或`BufferedWriter`。 5. **ArrayList类的问题**: - 容器溢出:如果未设置容量,当ArrayList元素数量超过默认大小(10)时,它会自动扩容,可能导致性能下降。可以通过`...
Java 中 Spark 中将对象序列化存储到 HDFS 概述: 在 Spark 应用中,经常会遇到这样一个需求:需要将 Java 对象序列化并存储到 HDFS,尤其是利用 MLlib 计算出来的一些模型,存储到 HDFS 以便模型可以反复利用。在...
### Java中将数据和图片导出到Excel文件 在Java编程环境下实现数据及图片导出至Excel文件是一项常见的任务,特别是在处理报表、数据分析等场景时。本文将详细解析如何通过Java代码来完成这一过程,包括如何创建...
总结一下,Java中将URL转换为PDF涉及的主要知识点包括: 1. 使用`java.net.URL`和`HttpURLConnection`进行HTTP请求。 2. 使用Jsoup解析HTML。 3. 使用iText或Apache PDFBox等库生成PDF。 4. 可能需要处理HTML到PDF的...
完成所有数据填充后,你需要将工作簿写入文件,可以使用`FileOutputStream`。 2. **Web环境下的Excel导出与下载**: 在Web环境中,我们需要考虑HTTP响应和浏览器交互。在Servlet或Spring MVC等框架中,你可以创建...
总的来说,`JAXBContext`和`Marshaller`是Java中将Java对象转换为XML数据的关键工具。通过它们,你可以方便地实现对象到XML的序列化,从而在各种系统间交换数据,或者将数据持久化到XML文件中。结合合理的对象设计和...
文件删除需要释放文件占用的簇,并在FAT表中将其标记为可用。 此外,我们还需要考虑文件系统的其他功能,例如目录管理。这可能涉及到创建目录结构,通过目录项来存储文件名和对应的文件对象。我们还需要实现查找...
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
在Java编程中,将对象转换为XML...总结来说,Java中将对象转换为XML格式的方法多样,可以根据具体需求和项目规模选择合适的方法。在实际应用中,理解这些API的工作原理和使用方式对于优化性能和提高代码质量至关重要。
总之,Java中将数据导出为Excel涉及的主要知识点有:使用Apache POI库,理解Excel文件的XML结构,以及通过Java I/O进行文件操作。通过实践和学习,你可以掌握这项技能,轻松实现从Java应用程序导出数据到Excel文件的...
2. 构造方法:public FileOutputStream(File file) throws FileNotFoundException:创建一个向指定 File 对象表示的文件中写入数据的文件输出流。 3. 写入方法:public void write(int b) throws IOException:将...
在Java编程中,字节流(Byte Stream)是处理数据的基本方式,特别是在处理二进制数据,如图片、音频或视频文件时。本教程将详细讲解如何使用Java实现字节流与图片之间的转换,这对于在网络上传输或者存储图片等二...
8. **读取和写入文件**:`FileReader`和`FileWriter`用于读写文本文件,`BufferedReader`和`BufferedWriter`提高效率,`FileInputStream`和`FileOutputStream`处理二进制文件。 9. **文件属性**:`File`类的`length...
本文将介绍 Java 中将对象转换为 byte 数组的方法和将 byte 数组转换回对象的方法。 对象的序列化 在 Java 中,对象的序列化是将对象转换为 byte 数组的过程。这种转换可以使用 ObjectOutputStream 和 ...