我写了一个图书管理系统,图书管理中有数据:图书编号:"bs20101010", 书名:"《java语言编程思想》",价格:100.0 
信息,如何件一个文件将数据由文件写入ArrayList 容器中

解决方案 »

  1.   

    原本在ArrayList 容器里面添加记入的时候是要ArrayList<BookInfo> bs = new ArrayList<BookInfo>();//创建一个容器出来
    //然后用  bs.add();来添加数据 现在我 的数据都写在了一个txt文件里面 ,要用IO流 来将文件里的数据写入到ArrayList 这个容器里
    就是这个意思 ,明白了吗 我应该怎么做呢? 
      

  2.   

    这个不难,先建一个I/O流,然后从文件中一行一行的读取数据,每读一行数据看作一个string对象,加入Arraylist
      

  3.   

    1、读出来
    2、构造n个BookInfo
    3、List.add
      

  4.   

    这个不难,先建一个I/O流,然后从文件中一行一行的读取数
    每读取一行 都构建一个
    BookInfo对应,然后把对应加入到Arraylist, 加入的时候用 Arraylist.add方法
      

  5.   

    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类型  提示我错误啊  我该怎么办
      

  6.   

    嘿,我看楼主的意思是想做对象序列化存储啊看一下DataInputStream,DataOutPutStream,写入写出对象序列化的IO API,记得你的对象需要实现Serialization接口
      

  7.   

    对象序列化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;
    }
    }
      

  8.   

    List<String> array = new ArrayList<String>();你的图书编号:"bs20101010", 书名:"《java语言编程思想》",价格:100.0  
    这些内容是放在什么样的文件里
      

  9.   

    汗。。应该楼主的意思是这样吧:
    文件中存放的是图书的信息,类似于bs20101010,《java语言编程思想》,100.0
    as20101010,《java》,111.0是的话就好办,读取一行,将一行字符串分割,再对应的类型转换(价格就转换为double),创建BookInfo,将转换的数据set进对象。List.add...