📄 saveandquery.java
字号:
package speech;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class SaveAndQuery {
private static SaveAndQuery saq = new SaveAndQuery();
public static SaveAndQuery getInstance(){
return saq;
}
private SaveAndQuery(){
}
public void saveStudentHistory(Student stu){
Student[] stus = queryStudentHistory();
try {
FileOutputStream fos = new FileOutputStream("history.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
if(stus != null){
for(int i = 0;i < stus.length;i ++){
oos.writeObject(stus[i]);
}
}
oos.writeObject(stu);
oos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Student[] queryStudentHistory(){
ArrayList list = new ArrayList();
ObjectInputStream ois = null;
try {
FileInputStream fis = new FileInputStream("history.dat");
ois = new ObjectInputStream(fis);
while(true){
try {
list.add((Student)ois.readObject());
} catch (Exception e) {
// TODO Auto-generated catch block
// e.printStackTrace();
break;
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(ois != null){
ois.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(list.size() == 0){
return null;
}
return (Student[])list.toArray(new Student[list.size()]);
}
public Student[] loadStudent(){
Student[] stus = null;
try {
File f = new File("student.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String readStr = null;
ArrayList list = new ArrayList();
while((readStr = br.readLine()) != null){
String[] info = readStr.split(",");
boolean sex = Boolean.valueOf(info[1]).booleanValue();
Student stu = new Student(info[0],sex);
list.add(stu);
}
if(list.size() != 0){
stus = (Student[])list.toArray(new Student[list.size()]);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stus;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -