【发布时间】:2013-11-16 10:52:56
【问题描述】:
我正在编写将使用 RandomAccessFile 在 Java 中生成 .dat 文件的代码。
每个文件都创建一个小时,因此每分钟后都会添加新数据,一小时后会创建一个新文件。
例如 - 每个文件名的日期/时间格式为 DD-MM-YY-HH。所以现在是 05-11-13-14,下一个是 05-11-13-15,依此类推。
在文件中我收集了5条数据,第一条是一个长值,即当时的当前时间戳。
我需要的是获取时间戳以每分钟打印一次结果。
这是我到目前为止所做的;
public static void main (String [] args) throws FileNotFoundException
{
try
{
DateFormat df = new SimpleDateFormat("dd-MM-yy-HH");
Date date = new Date();
System.out.println(df.format(date));
File fileName = new File(df.format(date) + ".dat");
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
for(int i = 0; i < 5; i++)
{
//1383580800000 4/11/2013 4pm
raf.writeLong(Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTimeInMillis());
raf.writeInt(10);
raf.writeInt(2);
raf.write((byte)1);
raf.writeInt(3);
}
raf.close();
}
catch(IOException iOE)
{
System.err.println(iOE);
}
}
【问题讨论】:
-
不相关,但我会考虑像
YY-MM-DD-HH这样的文件名 -
看起来文件 IO 工作正常?你的问题是具体关于让它每分钟都发生吗?
-
亨利不,我不能改变格式,它必须这样设置。 @Cruncher 是的,我正在寻找每分钟生成数据的代码
-
你为什么使用
RandomAccessFile?您只是创建一个新文件并生成内容或覆盖内容(如果存在)。这可以通过标准FileOutputStream或FileWriter来完成。 -
@MadConan,有人告诉我使用 RandomAccessFile 并且必须使用它创建文件
标签: java calendar timestamp epoch