/**
* 生成审批单编码
*
* 生成时以天为单位生成,每天都会从1开始生成格式为yyMMdd+序号
* @return
*/
public synchronized static String GenerationSpdNumber(){
Properties prop = new Properties();
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
String returnNumber = "";
String currentDate = sdf.format(new Date());
try {
//获取配置文件完整路径
String path = TzConfig.class.getClassLoader().getResource("/cn/net/withub/tz/").getPath() + "config.properties";
InputStream fis = new FileInputStream(path);
//载入配置文件
prop.load(fis);
if(!currentDate.equals(prop.getProperty("Sign_Date"))){
prop.setProperty("Sign_Date",currentDate);
prop.setProperty("Current_number", "0");
}
//如果未找到对应的值时进行初始化
if(prop.getProperty("Current_number") == null || prop.getProperty("Current_number").equals("")){
prop.setProperty("Current_number", "0");
}
FileOutputStream outputFile = new FileOutputStream(path);
prop.store(outputFile, "");
outputFile.flush();
//获取当前的下标
returnNumber = ""+(Integer.valueOf(prop.getProperty("Current_number"))+1);
//把当前的下标更新到配置文件中
prop.setProperty("Current_number", returnNumber);
prop.store(outputFile, "");
outputFile.flush();
outputFile.close();
} catch (Exception e) {
e.printStackTrace();
}
return currentDate+lpad(returnNumber,"0",4);
}
/**
* 字符左填充方法
*
* 按要求对字符进行左填写
* 例要把 1 变成 0001 调用 lpad("1","0",4)
* @param str
* @param fillStr
* @param length
* @return
*/
public synchronized static String lpad(String str,String fillStr,int length){
StringBuffer rStr = new StringBuffer();
for(int i=str.length();i<length;i++){
rStr.append(fillStr);
}
return rStr.append(str).toString();
}
properties 文件读写例子
最新推荐文章于 2022-07-07 20:10:24 发布