java编写和读取名称中包含日期的文件
我试图用java编写一个文件,文件名中附加了当前日期和时间,然后我想在编写后读取同一个文件,但日期和时间已更改,它找不到该文件
这就是我尝试过的
DateFormat df = new SimpleDateFormat( "yyyy-MM-dd_HH.mm.ss" );
写入文件:
File messagesFile = new File(dirName + "\\2g3gPS_Messages_Statistics_" +
df.format(new Date() ) + ".csv");
if (!messagesFile.exists()) {
messagesFile.createNewFile();
}
阅读文件:
records = reader.readData(dirName2G3GPS + "\\\\2g3gPS_Messages_Statistics_" +
df.format(new Date() ) + ".csv");
假设我在10:54:10写入文件,并尝试在10:54:50读取,那么它将找不到文件
如何读取目录中写入的最新文件。还有其他工作吗
# 1 楼答案
首先,您应该跟踪
new Date()
值,该值用于编写文件,以便稍后再次读取该文件如果总是想从给定目录中读取最新的文件,可以对文件名进行排序并读取最后一个文件。 类似这样的事情可能会有所帮助:
当然,这个解决方案的工作原理是假定
dirName
目录中的所有文件都具有相同的文件名格式# 2 楼答案
您正在调用
new Date()
,这将给出调用它的时间——对于书写和阅读来说是不同的取而代之的是调用
Date date = new Date()
并在这两个地方使用这个date