项目遇到个需求(用java代码生成csv和txt文件):
生成10000张读书卡的卡号和秘钥,然后存储到数据库
//用于生成秘钥的方法
public static String getOrderIdByUUId() {
int machineId = 1;//最大支持1-9个集群机器部署
int hashCodeV = UUID.randomUUID().toString().hashCode();
if(hashCodeV < 0) {//有可能是负数
hashCodeV = - hashCodeV;
}
// 0 代表前面补充0
// d 代表参数为正数型
// 15表示的是16位
return machineId + String.format("%015d", hashCodeV);
}
//写入文件的方法
public static void write(){
String filePath = "C:\\Users\\Administrator\\Desktop\\card.txt";//card.csv也可以
try {
// 创建CSV写对象
CsvWriter csvWriter = new CsvWriter(filePath,',', Charset.forName("GBK"));
// 写表头
for(int i=0;i<10000;i++){
int position = i + 10000;
String secret = MD5.getOrderIdByUUId();
String[] content = {position+"",secret};
csvWriter.writeRecord(content);
}
csvWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
CsvWriter 这个类的使用需要引用jar包,下载地址是:
运行结果就是桌面上多了一个文件:
打开文件就是我们想要的1000个卡号和秘钥: