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

📄 studentsmanagement.java

📁 图书馆座位管理系统
💻 JAVA
字号:
package fileUtility;

import java.io.*;

public class StudentsManagement {
    public static Student students[] = null;
    static final int nameLength = 31;
    static final int length = nameLength + 1;
    final static int intLength = 4;
    static final int studentsLength = 512;
    static final int passwordStart = 64;
    private static StringBuffer name = new StringBuffer(nameLength);
    public StudentsManagement() {
        students = getStudents();
    }


    private Student[] getStudents() {
        Student students[] = null;
        try {
            //读取序列号
            RandomAccessFile f = new RandomAccessFile(filePath.students, "r");
            students = new Student[((int) (f.length() / studentsLength))];

//            System.out.println(f.length() / studentsLength);

            for (int i = 0; i < students.length; i++) {
                students[i] = new Student();
                students[i].serial = i;
                f.seek(i * studentsLength);

                students[i].ID = f.readInt(); //           ID
                students[i].isBoy = f.readBoolean(); //   性别
                students[i].name = f.readUTF(); //name

                f.seek(i * studentsLength + passwordStart);
                students[i].password = f.readUTF();

                f.seek(i * studentsLength + 2 * passwordStart);
                students[i].question = f.readUTF();

                f.seek(i * studentsLength + 4 * passwordStart);
                students[i].answer = f.readUTF();
//                students[i].print();

            }
            f.close();
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
            /** @todo  */
        } catch (IOException ex) {
            ex.printStackTrace();
            /** @todo Handle this exception */
        }
        return students;

    }

//
//    public static Student[] getFriends(int ID) {
//        Student friends[] = getFriendsSerial(ID);
//        return null;
//        /** @todo  */
//    }


    public static int[] getFriendsSerial(String fileName) {
//        Student friends[] = null;
        int friendsSerial[] = null;
        try {
            //读取序列号
            RandomAccessFile f = new RandomAccessFile(fileName, "r");

//            friends = new Student[((int) (f.length() / intLength))];
            friendsSerial = new int[((int) (f.length() / intLength))];
            for (int i = 0; i < friendsSerial.length; i++) {
//                friends[i] = new Student();
                friendsSerial[i] = f.readInt();
            }
            f.close();

            //读取信息


        } catch (FileNotFoundException ex) {
            return null;
            //  ex.printStackTrace();
            /** @todo  */
        } catch (IOException ex) {
            ex.printStackTrace();
            /** @todo Handle this exception */
        }
        return friendsSerial;

    }

    /**
        public static Student[] getFriendsSerial(String fileName) {
            Student friends[] = null;
            try {
                //读取序列号
                RandomAccessFile f = new RandomAccessFile(fileName, "r");
                friends = new Student[((int) (f.length() / intLength))];
                for (int i = 0; i < friends.length; i++) {
                    friends[i] = new Student();
                    friends[i].serial = f.readInt();
                }
                f.close();

                //读取信息


            } catch (FileNotFoundException ex) {
                ex.printStackTrace();

            } catch (IOException ex) {
                ex.printStackTrace();

            }
            return friends;
        }
     */
    public static boolean removeFriend(String fileName, int serial) {
        try {
            RandomAccessFile f = new RandomAccessFile(fileName, "rw");
            int friendsNumber = ((int) (f.length() / intLength));
            if (friendsNumber == 0) {
                f.close();
                File file = new File(fileName);
                file.delete();
                return false;
            }
            for (int i = 0; i < friendsNumber; i++) {
                if (f.readInt() == serial) {
                    if (friendsNumber == 1) {
                        f.setLength(0);
                    } else if (friendsNumber - 1 == i) {
                        f.setLength(f.length() - intLength);
                    } else {
                        f.seek(f.length() - intLength);
                        int temp = f.readInt();
                        f.seek(i * intLength);
                        f.setLength(f.length() - intLength);
                        f.writeInt(temp);
                    }
                    f.close();
                    return true;
                }
            }

            f.writeInt(serial);
            f.close();
            return true;
        } catch (FileNotFoundException ex) {
        } catch (IOException ex) {
            /** @todo Handle this exception */
        }
        return false;
    }

    public static boolean removeFriend(int userID, int friendSerial) {
        return removeFriend(filePath.friendsPath + userID + ".txt",
                            friendSerial);
    }

    private static boolean addFriend(String fileName, int serial) {
        try {
            File file = new File(fileName);
//            if (!file.canWrite()) {
//                return false;
//            }
            RandomAccessFile f = new RandomAccessFile(fileName, "rw");
            //       System.out.println(f.length() + " =length");
            f.seek(f.length());
            f.writeInt(serial);

            //        System.out.println(f.length() + " =length_changed");
            f.close();
            return true;
        } catch (FileNotFoundException ex) {
        } catch (IOException ex) {
            /** @todo Handle this exception */
        }
        return false;
    }

    public static boolean addFriend(int userID, int friendSerial,
                                    int[] friendSerials) {
        if (friendSerials != null) {

            for (int i = 0; i < friendSerials.length; i++) {
                if (friendSerial == friendSerials[i]) {
                    return false;
                }
            }
        }

        return addFriend(filePath.friendsPath + userID + ".txt", friendSerial);
    }


    /**
     * getFriends
     *
     * @param ID int
     */
    public static int[] getFriendsSerial(int ID) {
//        RandomAccessFile f=new RandomAccessFile((filePath.file+Integer.toString(ID)),"r");
        return getFriendsSerial(filePath.friendsPath + ID + ".txt");
    }


    public static void main(String[] args) throws FileNotFoundException,
            IOException {

//        addFriend
        for (int i = 100000; i < 100100; i++) {
            for (int j = 0; j < 100; j++) {
                if (j != i - 100000) {
                    addFriend(i, j, getFriendsSerial(i));
                }
                //    if(i!=j)removeFriend(i,j);
            }
            //  removeFriend(i,0);
        }

//
//        //清除
//        RandomAccessFile fff = new RandomAccessFile("2.txt", "rw");
//        fff.setLength(0);
//        fff.close();
//
//        //test addFriend()
//        System.out.println("test addFriend()");
//        //     File file = new File("ab.txt");
//        //     file.delete();
//        int fri[]={'a','b'};
//        for (int i = 'a'; i <= 'g'; i++) {
//            addFriend("ab.txt", i);
//
//        }
////        Student ff[] = StudentsManagement.getFriendsSerial("ab.txt");
////        System.out.println("friendNumber=" + ff.length);
////        for (int i = 0; i < ff.length; i++) {
////            System.out.println(ff[i].serial + " " + ((char) (ff[i].serial)));
////        }
////        System.out.println("");
//        int ff[] = StudentsManagement.getFriendsSerial("ab.txt");
//        System.out.println("friendNumber=" + ff.length);
//        for (int i = 0; i < ff.length; i++) {
//            System.out.println(ff[i] + " " + ((char) (ff[i])));
//        }
//        System.out.println("");
//
//        //test removeFriend()
//        System.out.println("test removeFriend()");
//        for (int i = 'g'; i >= 'a'; i--) {
//            //     boolean b = removeFriend("ab.txt", i);
//            //      System.out.println(b);
//        }
//
////        Student ffff[] = StudentsManagement.getFriendsSerial("ab.txt");
////        System.out.println("friendNumber=" + ffff.length);
////        for (int i = 0; i < ffff.length; i++) {
////            System.out.println(ffff[i].serial + " " + ((char) (ffff[i].serial)));
////        }
//
//        int ffff[] = StudentsManagement.getFriendsSerial("ab.txt");
//        System.out.println("friendNumber=" + ffff.length);
//        for (int i = 0; i < ffff.length; i++) {
//            System.out.println(ffff[i] + " " + ((char) (ffff[i])));
//        }

    }


//    Friend getFriend(RandomAccessFile f, int friendSerial) throws IOException {
//
//        if (f.) {
//
//        }
//        friend[friendSerial].ID = f.readInt();
//
//        return null;
//    }
}

⌨️ 快捷键说明

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