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

📄 database.java

📁 数据结构用java实现的一些源代码
💻 JAVA
字号:
import java.io.*;public class Database {    private RandomAccessFile database;    private String fName = new String();;    private IOmethods io = new IOmethods();    Database() throws IOException {        System.out.print("File name: ");        fName = io.readLine();    }    private void add(DbObject d) throws IOException {        database = new RandomAccessFile(fName,"rw");        database.seek(database.length());        d.writeToFile(database);        database.close();    }    private void modify(DbObject d) throws IOException {        DbObject[] tmp = new DbObject[1];        d.copy(tmp);        database = new RandomAccessFile(fName,"rw");        while (database.getFilePointer() < database.length()) {            tmp[0].readFromFile(database);            if (tmp[0].equals(d)) {                 tmp[0].readFromConsole();                 database.seek(database.getFilePointer()-d.size());                 tmp[0].writeToFile(database);                 database.close();                 return;            }        }        database.close();        System.out.println("The record to be modified is not in the database");    }    private boolean find(DbObject d) throws IOException {        DbObject[] tmp = new DbObject[1];        d.copy(tmp);        database = new RandomAccessFile(fName,"r");        while (database.getFilePointer() < database.length()) {            tmp[0].readFromFile(database);            if (tmp[0].equals(d)) {                database.close();                return true;            }        }        database.close();        return false;    }    private void printDb(DbObject d) throws IOException {        database = new RandomAccessFile(fName,"r");        while (database.getFilePointer() < database.length()) {            d.readFromFile(database);            d.writeLegibly();            System.out.println();        }        database.close();    }    public void run(DbObject rec) throws IOException {        String option;        System.out.println("1. Add 2. Find 3. Modify a record; 4. Exit");        System.out.print("Enter an option: ");        option = io.readLine();        while (true) {            if (option.charAt(0) == '1') {                 rec.readFromConsole();                 add(rec);            }            else if (option.charAt(0) == '2') {                 rec.readKey();                 System.out.print("The record is ");                 if (find(rec) == false)                     System.out.print("not ");                 System.out.println("in the database");            }            else if (option.charAt(0) == '3') {                 rec.readKey();                 modify(rec);            }            else if (option.charAt(0) != '4')                 System.out.println("Wrong option");            else return;            printDb(rec);            System.out.print("Enter an option: ");            option = io.readLine();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -