package com.Bookinfo.biz;
import java.io.*;
import java.util.*;
import com.Bookinfo.entity.Bookinformation;
public class BookInfoRead {
public static List read() throws Exception{
List<Bookinformation> list=new ArrayList<Bookinformation>();//创建集合对象
FileReader fr=new FileReader(".\\src\\wenben\\BookInfo.txt");
BufferedReader br=new BufferedReader(fr);
String str=br.readLine();
System.out.println(str);
while(str!=null){
Bookinformation book=new Bookinformation();//创建实体对象
String s[]=str.split(",");
book.setBookNumber(s[0]);
book.setBookName(s[1]);
book.setBookPrice(s[2]);
book.setCategoryNum(s[3]);
book.setPurchaseDate(s[4]);
list.add(book);
// System.out.println(s[1]);
str=br.readLine();
}
br.close();
fr.close();
return list;
}
public static void main(String[] args) throws Exception {
BookInfoRead info=new BookInfoRead();
info.read();
}
}
我不知道你的Bookinfo.txt里面的内容是怎么样,但是我大概知道原因是出现在String s[]=str.split(",");
book.setBookNumber(s[0]);
book.setBookName(s[1]);
book.setBookPrice(s[2]);
book.setCategoryNum(s[3]);
book.setPurchaseDate(s[4]);这段代码中,那个str.split(",")可能只分出了4个string,导致访问s[4]的时候跑出错误,你可以在book.setPurchaseDate(s[4]);之前插上一句System.out.println(s.length);如果为4的话就说明我的猜想对了~说明你的txt文件那里有问题了
谢谢你,
索引超出数组界限了