Java 报错数组越界
public class TestBufferStream {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建一个账户
User u = new User("011111" , "xxx" , "1234567" , '男' , "xx" , "管理员");
//创建一个文件对象
File f = new File(DatabaseConfig.USER_FILE_PARH);
FileWriter fw = null;
BufferedWriter bw = null;
try {
//创建一个字节流输出对象
fw = new FileWriter(f , true);
bw = new BufferedWriter(fw);
//调用write方法
bw.write(u.toString().toCharArray()); //User转换为字节数组
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (bw != null) {
bw.close();
}
if (fw != null) {
fw.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
FileReader fr =null;
BufferedReader br = null;
try {
fr = new FileReader(f);
br = new BufferedReader(fr);
String line;
String[] userArrey;
User u1;
while ((line = br.readLine())!=null)
{
System.out.println(line);
//
userArrey = line.split(" : ");
/**
for (String s :userArrey) {
System.out.println(s);
}
u1 = new User(userArrey[0] , userArrey[1] , userArrey[2] , userArrey[3].charAt(0) , userArrey[4] , userArrey[5]);
System.out.println(u1.getName());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
if (br != null)
{
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (fr != null)
{
try {
fr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}你的 userArrey 这个数组size是1,最多就 userArrey[0] 会有值。看看你文件里的数据格式是不是无法根据" : " 分割
把你读取的文件内容贴一下呀