⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filereaderwriter.java

📁 关于JAVA的代码连接数据库
💻 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 + -