src/com/my/pro/utils/SeriaNumberGenerator.java

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package com.my.pro.utils;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class SeriaNumberGenerator {
	 public static void main(String[] args) throws InterruptedException {
	        SerialNumber serial = new FileEveryDaySerialNumber(5, "EveryDaySerialNumber.dat");
	            System.out.println(serial.getSerialNumber());
	    }
	}

	abstract class SerialNumber {
	    public synchronized String getSerialNumber() {
	        return process();
	    }

	    protected abstract String process();
	}

	abstract class EveryDaySerialNumber extends SerialNumber {

	    protected final static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
	    protected DecimalFormat df = null;

	    public EveryDaySerialNumber(int width) {
	        if (width < 1) {
	            throw new IllegalArgumentException("Parameter length must be great than 1!");
	        }
	        char[] chs = new char[width];
	        for (int i = 0; i < width; i++) {
	            chs[i] = '0';
	        }
	        df = new DecimalFormat(new String(chs));
	    }

	    protected String process() {
	        Date date = new Date();
	        int n = getOrUpdateNumber(date, 1);
	        return format(date) + format(n);
	    }

	    protected String format(Date date) {
	        return sdf.format(date);
	    }

	    protected String format(int num) {
	        return df.format(num);
	    }

	    protected abstract int getOrUpdateNumber(Date current, int start);
	}
后面还有 44 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。