你好Java专家在这里是我的问题。 我目前有一个运行一些查询的代码,并将数据输出到csv文件中。它目前将其输出到我的桌面并保存文件。
你可以看到
//csv printer
PrintWriter pw = null;
try {
pw = new PrintWriter(new BufferedWriter(new FileWriter("C:\\Users\\JChoi\\Desktop\\new Date().getTime() + data.csv")));
} catch (Exception e) {
System.out.println("I could not open the output csv file, see stacktrace below:");
e.printStackTrace();
}
虽然它打印了文件,但文件刚出来说" new Date()。getTime()data.csv"
我想我错过了设定日期和时间的一步。最终我想得到它,以便当我运行此文件时,我将获得一个新的csv文件,其中包含今天的日期和当前时间。谢谢
编辑:已解决
Date dNow = new Date( );
SimpleDateFormat timeStamp =
new SimpleDateFormat ("yyyy-MM-dd");
//csv printer
PrintWriter pw = null;
try {
pw = new PrintWriter(new BufferedWriter(new FileWriter("C:\\Users\\JChoi\\Desktop\\google api csv outputs\\" + timeStamp.format(dNow) +"_data.csv")));
}
感谢所有
答案 0 :(得分:1)
基本上
new FileWriter("C:\\Users\\JChoi\\Desktop\\new Date().getTime() + data.csv")));
创建一个String
字面值(字面意思是,在引号之间输入您键入的内容)
您需要做的是一些变量/ String
连接,例如......
new FileWriter("C:\\Users\\JChoi\\Desktop\\" + new Date().getTime() + "data.csv")));
你应该注意,Date#getTime
将返回自Unix纪元以来的毫秒数。因此,您可能需要考虑使用某种DateFormat
将值格式化为更易于阅读的格式
答案 1 :(得分:0)
声明
new FileWriter("C:\\Users\\JChoi\\Desktop\\new Date().getTime() + data.csv")
Cretes文件名为" C:\ Users \ JChoi \ Desktop \ new Date()。getTime()+ data.csv"
如果你想把实际日期放到文件名中,你应该像
那样连接字符串new FileWriter("C:\\Users\\JChoi\\Desktop\\"+new Date().getTime() + +"data.csv")