
JAVA中用readObject逐个读取字符串对象
如何往person.dat逐个输入字符串对象,然后用个方法数一下里面的对象数量并且逐一赋值给字符串数组wan[]???...
如何往person.dat逐个输入字符串对象,然后用个方法数一下里面的对象数量并且逐一赋值给字符串数组wan[]???
展开
3个回答
展开全部
//我也来凑个热闹,建议将数据封装在一个对象中
//这个例子是将一些数据封装在Person对象中
//:SerializableTest.java
import
java.io.*;
import
java.util.ArrayList;
public
class
SerializableTest
{
public
static
void
main(String[]
args)
throws
Exception{
//保存对象的文件,这个要根据自己需要重新调整的,我这个是在Linux下的目录结构
File
f
=
new
File("/home/lsx/person.dat");
//创建一个集合类,用于存放person对象
ArrayList
ps
=
new
ArrayList();
//将10个person对象放入到集合中
for(int
i=0;
i<10;
i++)
ps.add(new
Person("person"+i,i));
//因为ArrayList类已实现了序列化,所以可以将ArrayList对ps存入文件
//也就是说,现在保存的是一个集合,里边的内容是Person对象
IO.save(ps,
f);
//从文件中将这个集合读取出来
Object
o
=
IO.load(f);
ArrayList
list
=
(ArrayList)o;
//打印这个集合中的内容
for(int
i=0;
i<list.size();
i++)
System.out.println(list.get(i));
}
}
class
IO{
//保存对象到文件
static
void
save(Object
obj,File
f)
throws
Exception{
ObjectOutputStream
oos
=
new
ObjectOutputStream(new
FileOutputStream(f));
oos.writeObject(obj);
oos.flush();
oos.close();
}
//从文件读取对象
static
Object
load(File
f)
throws
Exception{
ObjectInputStream
ois
=
new
ObjectInputStream(new
FileInputStream(f));
Object
obj
=
ois.readObject();
ois.close();
return
obj;
}
}
//要想Person能以对象的形式保存到文件,Person类必须实现序列化:Serializable
class
Person
implements
Serializable{
private
static
final
long
serialVersionUID
=
6213933727640755594L;
private
String
name;
private
int
id;
Person(String
n,int
i){
name=n;id=i;
}
public
String
getName(){return
name;}
public
int
getId(){return
id;}
public
String
toString(){return
"name:"+name+"
id:"+id;}
}
//这个例子是将一些数据封装在Person对象中
//:SerializableTest.java
import
java.io.*;
import
java.util.ArrayList;
public
class
SerializableTest
{
public
static
void
main(String[]
args)
throws
Exception{
//保存对象的文件,这个要根据自己需要重新调整的,我这个是在Linux下的目录结构
File
f
=
new
File("/home/lsx/person.dat");
//创建一个集合类,用于存放person对象
ArrayList
ps
=
new
ArrayList();
//将10个person对象放入到集合中
for(int
i=0;
i<10;
i++)
ps.add(new
Person("person"+i,i));
//因为ArrayList类已实现了序列化,所以可以将ArrayList对ps存入文件
//也就是说,现在保存的是一个集合,里边的内容是Person对象
IO.save(ps,
f);
//从文件中将这个集合读取出来
Object
o
=
IO.load(f);
ArrayList
list
=
(ArrayList)o;
//打印这个集合中的内容
for(int
i=0;
i<list.size();
i++)
System.out.println(list.get(i));
}
}
class
IO{
//保存对象到文件
static
void
save(Object
obj,File
f)
throws
Exception{
ObjectOutputStream
oos
=
new
ObjectOutputStream(new
FileOutputStream(f));
oos.writeObject(obj);
oos.flush();
oos.close();
}
//从文件读取对象
static
Object
load(File
f)
throws
Exception{
ObjectInputStream
ois
=
new
ObjectInputStream(new
FileInputStream(f));
Object
obj
=
ois.readObject();
ois.close();
return
obj;
}
}
//要想Person能以对象的形式保存到文件,Person类必须实现序列化:Serializable
class
Person
implements
Serializable{
private
static
final
long
serialVersionUID
=
6213933727640755594L;
private
String
name;
private
int
id;
Person(String
n,int
i){
name=n;id=i;
}
public
String
getName(){return
name;}
public
int
getId(){return
id;}
public
String
toString(){return
"name:"+name+"
id:"+id;}
}
展开全部
//我也来凑个热闹,建议将数据封装在一个对象中
//这个例子是将一些数据封装在Person对象中
//:SerializableTest.java
import java.io.*;
import java.util.ArrayList;
public class SerializableTest {
public static void main(String[] args) throws Exception{
//保存对象的文件,这个要根据自己需要重新调整的,我这个是在Linux下的目录结构
File f = new File("/home/lsx/person.dat");
//创建一个集合类,用于存放person对象
ArrayList ps = new ArrayList();
//将10个person对象放入到集合中
for(int i=0; i<10; i++)
ps.add(new Person("person"+i,i));
//因为ArrayList类已实现了序列化,所以可以将ArrayList对ps存入文件
//也就是说,现在保存的是一个集合,里边的内容是Person对象
IO.save(ps, f);
//从文件中将这个集合读取出来
Object o = IO.load(f);
ArrayList list = (ArrayList)o;
//打印这个集合中的内容
for(int i=0; i<list.size(); i++)
System.out.println(list.get(i));
}
}
class IO{
//保存对象到文件
static void save(Object obj,File f) throws Exception{
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f));
oos.writeObject(obj);
oos.flush();
oos.close();
}
//从文件读取对象
static Object load(File f) throws Exception{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f));
Object obj = ois.readObject();
ois.close();
return obj;
}
}
//要想Person能以对象的形式保存到文件,Person类必须实现序列化:Serializable
class Person implements Serializable{
private static final long serialVersionUID = 6213933727640755594L;
private String name;
private int id;
Person(String n,int i){
name=n;id=i;
}
public String getName(){return name;}
public int getId(){return id;}
public String toString(){return "name:"+name+" id:"+id;}
}
//这个例子是将一些数据封装在Person对象中
//:SerializableTest.java
import java.io.*;
import java.util.ArrayList;
public class SerializableTest {
public static void main(String[] args) throws Exception{
//保存对象的文件,这个要根据自己需要重新调整的,我这个是在Linux下的目录结构
File f = new File("/home/lsx/person.dat");
//创建一个集合类,用于存放person对象
ArrayList ps = new ArrayList();
//将10个person对象放入到集合中
for(int i=0; i<10; i++)
ps.add(new Person("person"+i,i));
//因为ArrayList类已实现了序列化,所以可以将ArrayList对ps存入文件
//也就是说,现在保存的是一个集合,里边的内容是Person对象
IO.save(ps, f);
//从文件中将这个集合读取出来
Object o = IO.load(f);
ArrayList list = (ArrayList)o;
//打印这个集合中的内容
for(int i=0; i<list.size(); i++)
System.out.println(list.get(i));
}
}
class IO{
//保存对象到文件
static void save(Object obj,File f) throws Exception{
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f));
oos.writeObject(obj);
oos.flush();
oos.close();
}
//从文件读取对象
static Object load(File f) throws Exception{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f));
Object obj = ois.readObject();
ois.close();
return obj;
}
}
//要想Person能以对象的形式保存到文件,Person类必须实现序列化:Serializable
class Person implements Serializable{
private static final long serialVersionUID = 6213933727640755594L;
private String name;
private int id;
Person(String n,int i){
name=n;id=i;
}
public String getName(){return name;}
public int getId(){return id;}
public String toString(){return "name:"+name+" id:"+id;}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是读字符串的话。不是readObject();
这个方法的字面意思已经说的很清楚了
是读对象.这个方法是属于
ObjectOutputStream类的。
作用是将 文件中的对象取出来.
如果读字符串的话
BufferedReader bf = new BufferedReader(new FileReader("文件路径"));
BufferString context = new BufferString();
while (bf.readLine()!= null) {
context.append(bf.readLine());
}
bf.close();
这个方法的字面意思已经说的很清楚了
是读对象.这个方法是属于
ObjectOutputStream类的。
作用是将 文件中的对象取出来.
如果读字符串的话
BufferedReader bf = new BufferedReader(new FileReader("文件路径"));
BufferString context = new BufferString();
while (bf.readLine()!= null) {
context.append(bf.readLine());
}
bf.close();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询