自动生成序号函数

通过此函数可以实现在关闭系统后任沿着序号增加,但是无法随时间改变重置

点击查看代码
    private int sequenceNumber = 1;

    public synchronized String generatejobID() {
        // 获取当前日期
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyymmdd");//
        String dateStr = sdf.format(now);

        // 读取或初始化sequenceNumber
        if (sequenceNumber == 1) {
            File file = new File("sequenceNumber.txt");
            if (file.exists()) {
                try {
                    BufferedReader reader = new BufferedReader(new FileReader(file));
                    String line = reader.readLine();
                    sequenceNumber = Integer.parseInt(line);
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        // 组合编号
        String sequenceStr = String.format("%04d", sequenceNumber++);
        String jobID = dateStr + sequenceStr;

        // 更新sequenceNumber到文件
        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter("sequenceNumber.txt"));
            writer.write(String.valueOf(sequenceNumber));
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return jobID;
    }
posted @ 2024-12-25 23:20  QixunQiu  阅读(31)  评论(0)    收藏  举报