读文件,读出的内容与原数据不一致
void number() {
File f1 = new File("e:\\work");
f1.mkdirs();
File f2 = new File("e:\\work\\sanguozhi.txt");
try {
f2.createNewFile();
} catch (IOException e3) {
e3.printStackTrace();
}
ArrayList<work.Student> al = new ArrayList<>();
al.add(new work.Student("曹操", 97));
al.add(new work.Student("刘备", 93));
al.add(new work.Student("孙权", 90));
al.add(new work.Student("吕布", 80));
al.add(new work.Student("关羽", 85));
PrintWriter pw = null;
try {
pw = new PrintWriter(f2);
} catch (FileNotFoundException e2) {
e2.printStackTrace();
}
for (work.Student student : al) {
pw.println(student.toString());
pw.flush();
}
pw.close();
ArrayList<work.Student> al1 = new ArrayList<>();
FileReader fr = null;
try {
fr = new FileReader(f2);
char[] ah = new char[1000];
int i=fr.read(ah);
i=fr.read(ah);
String student =new String(ah);
//System.out.println(student);
String[] student1 = student.split("\\n");
System.out.println(student1.length);
for (int j=0;j<(student1.length)-1;j++) {
System.out.println(student1[j]);
// String[] student2 = student1[j].split(",");
// work.Student stu = new work.Student();
// stu.setName(student2[0]);
// System.out.println(student2[0]+student2[1]+"1");
// stu.setAge(Integer.parseInt((student2[1].trim())));
// al1.add(stu);
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
for (work.Student string : al1) {
System.out.println(string);
}
}
哪位大神帮忙看下这段代码,将数据写入文件,然后读出来,换行符分割下,就出现很多莫名其秒的空行 。。