首先还是不太明白你说的这个“生成版本号”是什么意思,如果只是生成一个自增序列的话
1、如果有oracle数据库的话可以利用它的序列生成。
2、没有oracle,用redis也行。
3、没有数据库,那就写个文件来存取吧:
public class Test2 {
public static void main(String[] args) throws IOException {
System.out.println(getSequence("d:\\test\\sequence.txt"))
setSequence("d:\\test\\sequence.txt", "")
System.out.println(getSequence("d:\\test\\sequence.txt"))
}
//读取序列
public static String getSequence(String sequenceFile) throws IOException {
FileInputStream fileInputStream = null
InputStreamReader inputStreamReader = null
BufferedReader bufferedReader = null
try {
File file = new File(sequenceFile)
fileInputStream = new FileInputStream(file)
inputStreamReader = new InputStreamReader(fileInputStream)
bufferedReader = new BufferedReader(inputStreamReader)
// 按行读取字符串
String str
if ((str = bufferedReader.readLine()) != null) {
return str
}
return null
} catch (Exception e) {
e.printStackTrace()
return null
} finally {
if (bufferedReader != null) {
bufferedReader.close()
}
if (inputStreamReader != null) {
inputStreamReader.close()
}
if (fileInputStream != null) {
fileInputStream.close()
}
}
}
//设置序列,如果传入的序列号为空,则在原序列的基础上+1
public static void setSequence(String sequenceFile, String sequence) throws IOException {
if (sequence == null || sequence.isEmpty()) {
String oriSequence = getSequence(sequenceFile)
Objects.requireNonNull(oriSequence)
sequence = String.format("%04d", Integer.valueOf(oriSequence) + 1)
}
FileOutputStream fileOutputStream = null
OutputStreamWriter outputStreamWriter = null
BufferedWriter bufferedWriter = null
try {
File file = new File(sequenceFile)
fileOutputStream = new FileOutputStream(file)
outputStreamWriter = new OutputStreamWriter(fileOutputStream)
bufferedWriter = new BufferedWriter(outputStreamWriter)
bufferedWriter.write(sequence)
} catch (Exception e) {
e.printStackTrace()
} finally {
if (bufferedWriter != null) {
bufferedWriter.close()
}
if (outputStreamWriter != null) {
outputStreamWriter.close()
}
if (fileOutputStream != null) {
fileOutputStream.close()
}
}
}
}
代码又挤在一起了:
读序列:
写序列:运行结果:
先生成好这个文件:
冲!:
查看Java虚拟机步骤如下:
1,运行,运行cmd
2,运行javac -version
这里的显示的是:
javac 1.6.0_43