导航:首页 > 编程语言 > java对象写入文件

java对象写入文件

发布时间:2022-04-26 09:00:32

java将对象写入大文件产生内存问题

  1. 为Data类设置一个set方法,上述for循环外面,Data data=new Data(),for循环里面data.setData(i,i)即可,只用一份Data大小的空间就好了,内存不会紧张

  2. 网上查一下看看怎样修改javaw的内存大小设置值,将其改大一些,不过这也要看你的电脑内存多大啊

⑵ JAVA能否把一个对象写入文件(请高手指点)

你问的其实就是Java序列化的问题,这是RMI、分布式应用的基础。
写了个例子给你,挺简单的,如果看不懂的话再补充问题吧。

Test.java
import java.io.*;
public class Test {
public static void main(String args[]) throws Exception{
Person me = new Person();
me.setId(1);
me.setName("haha");
FileOutputStream outstream = new FileOutputStream("library.dat");
ObjectOutputStream out = new ObjectOutputStream(outstream);
out.writeObject(me); //将这个对象写入流
out.close();

ObjectInputStream in = new ObjectInputStream(new FileInputStream("library.dat"));
Person who = (Person)in.readObject();
System.out.println(who.getName());
in.close();
}
}

class Person implements Serializable{
private String name;
private int id;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}

⑶ java中将list对象写入文件

可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储list对象,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write(list);//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

⑷ java 我想将一个装了对象的arraylist 写入文件,读出文件,请问怎么写代码,改对象的类定义如下

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
public class User implements Serializable{
private String name;
private String code;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public User(String name, String code) {
super();
this.name = name;
this.code = code;
}
public static void writeUser(ArrayList<User> userList,File file){//file 为写入的文件
ObjectOutputStream oos;
try {
if(!file.exists())
file.createNewFile();
oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(userList);
oos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

}
有疑问可追问或者hi

⑸ Java:内存中已经有了一个对象,如何使用ByteArrayOutputStream将该对象写入文件呢

ByteArrayOutputStream是将内存中的byte数据作为输出目标,

写入到文件则需要打开文件流,

内存中的对象要持久化有两种方式,一种是直接使用对象的序列化接口,该对象必须实现Serializable接口;另外一种自己写对象序列化接口。


1、ByteArrayOutputStream要写到文件可以通过writeTo方法,但是这样显然太啰嗦了,需要控制flush时机。

2、如果是对象已经实现序列化接口直接使用如下方式

ObjectOutputStreamo=newObjectOutputStream(newFileOutputStream("filename"));
o.writeObject(obj);

⑹ java io 对象写入了txt文件,怎样读取对象

File file = new File("你的文件路径");
InputStream in = new FileInputStream(file);
...
读入流以后可以写到String

⑺ java中如何将一个对象写入文本中,如现在student创建了一对象,

importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.io.Serializable;

{

=-6601903208557464574L;

privateStringid;
privateStringname;

publicStudent(){
super();
}

publicStudent(Stringid,Stringname){
super();
this.id=id;
this.name=name;
}

publicStringgetId(){
returnid;
}

publicvoidsetId(Stringid){
this.id=id;
}

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

}

{

publicstaticvoidmain(String[]args)throwsIOException,
ClassNotFoundException{
Studento=newStudent("1001","张三");
FileOutputStreamos=newFileOutputStream("D:\student.data");
ObjectOutputStreamoos=newObjectOutputStream(os);
oos.writeObject(o);
oos.flush();
oos.close();

FileInputStreamis=newFileInputStream("D:\student.data");
ObjectInputStreamois=newObjectInputStream(is);
Studentdeserialized=(Student)ois.readObject();
ois.close();
System.out.println("学号:"+deserialized.getId());
System.out.println("姓名:"+deserialized.getName());
}

}

⑻ JAVA 在监听器中怎样写对象到文件中

import java.awt.Button;
import java.awt.Frame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

/**
* Title:NewFrame
* Description:
* Copyright: Copyright (c) 2012-12-11
* Company: ETHERGNS-COM
* @author Guzi
* @version 1.0.0
*/
public class NewFrame extends Frame
{
private static final long serialVersionUID = -7322165277682705641L;
public static String path = "test.txt";

public static void main ( String [] args )
{
NewFrame frame = new NewFrame();
frame.setBounds(500, 500, 100, 100);
Button button = new Button("click");
frame.add(button);
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter()
{
public void windowClosed ( WindowEvent e )
{
System.exit(-1);
}

});
button.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked ( MouseEvent e )
{
ObjectOutputStream output;
try
{
User user = new User("xx", 22);
output = new ObjectOutputStream(new FileOutputStream(path));
output.writeObject(user);
output.close();
}
catch ( FileNotFoundException e1 )
{
e1.printStackTrace();
}
catch ( IOException e1 )
{
e1.printStackTrace();
}
}
});
}

}
感觉你写的没错啊....我的就可以保存对象......难道是对象不一样的问题?

阅读全文

与java对象写入文件相关的资料

热点内容
atomicinteger源码 浏览:631
程序员打架活动视频 浏览:223
视频网站加密原理 浏览:206
python图像区域识别 浏览:263
javaweb项目html源码 浏览:463
cad三点画圆命令 浏览:241
安卓手机中英文怎么设置 浏览:880
安卓怎么做试卷 浏览:886
xp系统怎么做域服务器 浏览:304
九游游戏app叫什么 浏览:624
无压缩机除湿机 浏览:335
柱为什么加密区 浏览:621
结晶机pdf 浏览:111
bim中删除命令快捷方式 浏览:981
php生成一个文件 浏览:420
c运行php 浏览:71
为什么我的世界搜索不到服务器 浏览:99
帮忙拍牌照是什么APP 浏览:934
php网站技术架构图学习 浏览:149
cadpdf不清楚 浏览:332