代码中有详细注释,建议粘贴到IDE上运行查看。
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 根据时间戳 + 随机数生成不重复的文件名
*/
public class Demo1 {
public static void main(String[] args) throws Exception{
// String方式
demo1();
System.out.println("----------------分割线------------------");
// StringBuffer方式
demo2();
}
public static void demo1(){
//获得当前时间戳
Date currentTime = new Date();
//设置时间解析与格式化的形式
//注意:yyyyMMddHHmmss里面不能有 - : . 等
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
String dateString = formatter.format(currentTime);
//生成随机数(随机数范围:1000到10000)
int num = (int) (Math.random() * (10000 - 1000) + 1000);
//字符串拼接输出
System.out.println("D:\\音乐\\" + dateString + num + ".wav");
}
public static void demo2(){
//创建 StringBuffer 通过构造函数添加 文件累路径
StringBuffer wavName = new StringBuffer("D:\\音乐\\");
//获得当前时间戳
Date currentTime = new Date();
//设置时间解析与格式化的形式
//注意:yyyyMMddHHmmss里面不能有 - : . 等
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
//通过append方法将字符串添加到 StringBuffer 对象中
wavName.append(formatter.format(currentTime));
//生成随机数(随机数范围:1000到10000)
int num = (int) (Math.random() * (10000 - 1000) + 1000);
//通过append()方法将字符串添加到 StringBuffer 对象中
wavName.append(num);
wavName.append(".wav");
通过toString()方法将StringBuffer对象转化为字符串
System.out.println(wavName.toString());
}
}
运行结果
D:\音乐\202012031844409867.wav
----------------分割线------------------
D:\音乐\202012031844402620.wav