Java 使用filewriter将CSV文件从data.CSV重命名为timestamp_data.CSV

Java 使用filewriter将CSV文件从data.CSV重命名为timestamp_data.CSV,java,csv,timestamp,filewriter,Java,Csv,Timestamp,Filewriter,你好,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 (

你好,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")));
}
基本上谢谢大家

new FileWriter("C:\\Users\\JChoi\\Desktop\\new Date().getTime() + data.csv")));
正在创建一个
字符串
文本(字面意思是,使引号之间的文本与您键入的文本相同)

您需要做的是一些变量/
字符串
串联,例如

new FileWriter("C:\\Users\\JChoi\\Desktop\\" + new Date().getTime() + "data.csv")));
您应该注意,
Date#getTime
将返回自Unix纪元以来的毫秒数作为long。因此,您可能需要考虑使用某种<代码> DateFormat < /代码>将该值格式化为更人性化的可读格式

语句

new FileWriter("C:\\Users\\JChoi\\Desktop\\new Date().getTime() + data.csv")
名为“C:\Users\JChoi\Desktop\new Date().getTime()+data.csv”的Cretes文件

如果您想将实际日期放在文件名中,您应该输入字符串,如

new FileWriter("C:\\Users\\JChoi\\Desktop\\"+new Date().getTime() + +"data.csv")

谢谢你的回复。因此,当我输入新代码时,我得到一个错误,上面写着“date无法解析为type”,这可能是因为我没有定义date()?所以您忘记导入java.util.date谢谢您的响应。因此,当我输入新代码时,我得到一个错误,上面写着“date不能解析为type”,这可能是因为我没有定义date()?