如何将文件里的数据用IO流写入ArrayList容器里 我写了一个图书管理系统,图书管理中有数据:图书编号:"bs20101010", 书名:"《java语言编程思想》",价格:100.0 信息,如何件一个文件将数据由文件写入ArrayList 容器中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 原本在ArrayList 容器里面添加记入的时候是要ArrayList<BookInfo> bs = new ArrayList<BookInfo>();//创建一个容器出来//然后用 bs.add();来添加数据 现在我 的数据都写在了一个txt文件里面 ,要用IO流 来将文件里的数据写入到ArrayList 这个容器里就是这个意思 ,明白了吗 我应该怎么做呢? 这个不难,先建一个I/O流,然后从文件中一行一行的读取数据,每读一行数据看作一个string对象,加入Arraylist 1、读出来2、构造n个BookInfo3、List.add 这个不难,先建一个I/O流,然后从文件中一行一行的读取数每读取一行 都构建一个BookInfo对应,然后把对应加入到Arraylist, 加入的时候用 Arraylist.add方法 ArrayList<BookInfo> bs = new ArrayList<BookInfo>(); BufferedReader br = null; try { br = new BufferedReader( new FileReader ("d:\\aa.txt")); } catch (FileNotFoundException e) { e.printStackTrace(); } String s=null; try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } bs.add(s);//我这样对吗 ?add是BookInfo类型 s 是string类型 提示我错误啊 我该怎么办 嘿,我看楼主的意思是想做对象序列化存储啊看一下DataInputStream,DataOutPutStream,写入写出对象序列化的IO API,记得你的对象需要实现Serialization接口 对象序列化public class BookInfoTest { public static void main(String[] args) throws IOException, ClassNotFoundException { ArrayList<BookInfo> list = new ArrayList<BookInfo>(); writeBookInfo(); FileInputStream fi = new FileInputStream("book.dat"); ObjectInputStream si = new ObjectInputStream(fi); BookInfo book = null; try { while (true) { book = (BookInfo) si.readObject(); list.add(book); System.out.println(book.getBookNo()); } } catch (EOFException e) { System.out.println("读完了"); } si.close(); } public static void writeBookInfo() throws FileNotFoundException, IOException { BookInfo book1 = new BookInfo("BookInfo1"); BookInfo book2 = new BookInfo("BookInfo2"); FileOutputStream fo = new FileOutputStream("book.dat"); ObjectOutputStream so = new ObjectOutputStream(fo); so.writeObject(book1); so.writeObject(book2); so.close(); }}class BookInfo implements Serializable { private String BookNo; // 编号 public BookInfo(String bookNo) { super(); BookNo = bookNo; } public String getBookNo() { return BookNo; } public void setBookNo(String bookNo) { BookNo = bookNo; }} List<String> array = new ArrayList<String>();你的图书编号:"bs20101010", 书名:"《java语言编程思想》",价格:100.0 这些内容是放在什么样的文件里 汗。。应该楼主的意思是这样吧:文件中存放的是图书的信息,类似于bs20101010,《java语言编程思想》,100.0as20101010,《java》,111.0是的话就好办,读取一行,将一行字符串分割,再对应的类型转换(价格就转换为double),创建BookInfo,将转换的数据set进对象。List.add... 键盘输入字符串问题 有两个关于字符串的小问题问一下 Hibernate对复杂语句的支持(有好答案追加100分) 请教高手指点迷津!!关于java 做个可以播放mp2的类 关于键盘输入的问题 超级简单的插入数据库问题!!!!急呀!!! 新手问题 请教一个问题,给分!! 请问一下,关于定时提醒的程序是如何实现的 请大家帮我改一下程序(谢了) 悲剧了 论坛中struts2远程执行任意代码漏洞 字符串拆分问题
//然后用 bs.add();来添加数据 现在我 的数据都写在了一个txt文件里面 ,要用IO流 来将文件里的数据写入到ArrayList 这个容器里
就是这个意思 ,明白了吗 我应该怎么做呢?
2、构造n个BookInfo
3、List.add
每读取一行 都构建一个
BookInfo对应,然后把对应加入到Arraylist, 加入的时候用 Arraylist.add方法
BufferedReader br = null;
try {
br = new BufferedReader( new FileReader ("d:\\aa.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String s=null;
try {
s = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
bs.add(s);
//我这样对吗 ?add是BookInfo类型 s 是string类型 提示我错误啊 我该怎么办
ClassNotFoundException { ArrayList<BookInfo> list = new ArrayList<BookInfo>();
writeBookInfo(); FileInputStream fi = new FileInputStream("book.dat");
ObjectInputStream si = new ObjectInputStream(fi); BookInfo book = null;
try {
while (true) {
book = (BookInfo) si.readObject();
list.add(book);
System.out.println(book.getBookNo());
}
} catch (EOFException e) {
System.out.println("读完了");
}
si.close();
} public static void writeBookInfo() throws FileNotFoundException,
IOException {
BookInfo book1 = new BookInfo("BookInfo1");
BookInfo book2 = new BookInfo("BookInfo2"); FileOutputStream fo = new FileOutputStream("book.dat");
ObjectOutputStream so = new ObjectOutputStream(fo); so.writeObject(book1);
so.writeObject(book2);
so.close();
}}class BookInfo implements Serializable {
private String BookNo; // 编号 public BookInfo(String bookNo) {
super();
BookNo = bookNo;
} public String getBookNo() {
return BookNo;
} public void setBookNo(String bookNo) {
BookNo = bookNo;
}
}
这些内容是放在什么样的文件里
文件中存放的是图书的信息,类似于bs20101010,《java语言编程思想》,100.0
as20101010,《java》,111.0是的话就好办,读取一行,将一行字符串分割,再对应的类型转换(价格就转换为double),创建BookInfo,将转换的数据set进对象。List.add...