📄 filereaderwriter.java
字号:
package GradeManagement.util;
import GradeManagement.model.GradeModel;
import GradeManagement.model.Student;
import GradeManagement.model.StudentFactory;
import java.io.RandomAccessFile;
import java.io.IOException;
public class FileReaderWriter {
private RandomAccessFile file;
// 打开文件,成功返回true,失败返回false;
public boolean open(String fileName) {
boolean res = true;
try {
file = new RandomAccessFile(fileName,"rw");
Student.file = file;
} catch (IOException e) {
res = false;
}
return res;
} // 方法open结束
// 读文件头
public boolean readFileHeader( FileHeader fileHeader) {
try {
fileHeader.setNumber( file.readInt() ); //读入学生数
fileHeader.setType( file.readInt());
} catch(IOException exception) {
return false;
}
return true;
} //方法readFileHeader结束
//写入文件头
public boolean writeFileHeader(FileHeader fileHeader) {
try{
file.writeInt(fileHeader.getNumber());
file.writeInt(fileHeader.getType());
} catch(IOException exception) {
return false;
}
return true;
} // 方法writeFileHeader结束
public GradeModel readFile() {
FileHeader fileHeader = new FileHeader();
GradeModel model = new GradeModel();
if((readFileHeader(fileHeader))) {
for ( int i = 0; i < fileHeader.getNumber() ; i++) {
Student temp = StudentFactory.newStudent(fileHeader.getType());
temp.readRecord();
model.addStudent(temp);
model.setType(fileHeader.getType());
}
}
model.setType(fileHeader.getType());
return model;
} // 方法readFile结束
public void writeFile(GradeModel model) {
FileHeader fileHeader = new FileHeader(model.size(), model.getType());
if(writeFileHeader(fileHeader)) {
model.writeToFile();
}
close();
} // 方法writeFile结束
//关闭文件
public void close() {
try {
file.close();
} catch (IOException e) {}
}// 方法close结束
} // 类FileReaderWriter结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -