项目简介
实现一个医院的挂号机系统,要求:有多台挂号机同时运行,此时无论有多少患者挂号,要求都能挂到不同的号码,并且要求实现当意外断电之后,下一次恢复还能从上次结束号码继续挂号?
- synchronized
- 文件操作
- IO流
代码展示
package com.homework1add;
import java.io.EOFException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class CodeSender implements Runnable {public static final String FILE = "src/record.dat";
private static int num;
private static RandomAccessFile raf;
// 退出以后
static {
try {
raf = new RandomAccessFile(new File(FILE), "rw");
raf.seek(0);
num = raf.readInt();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (EOFException e) {
// 读到文件末尾异常(没有可读数据)
System.out.println("目前还未放号,即将开始放号!");
num = 0;
} catch (IOExcep