假如我有一个几G大小的数据文件,里边基于时间戳记录了最近几天收到的二进制数据包(每个数据包间隔1ms~1min不等),大概如何能比较合理的用java实现倍速回放这些数据包呢?
2条回答 默认 最新
关注参考一下:
import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) throws Exception { String[] data = { // 模拟从文件或数据库中读取到的数据,数据格式为"yyyy-MM-dd HH:mm:ss 数据" "2024-01-05 09:56:04 data1", "2024-01-05 09:56:05 data2", // ... }; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (int i = 0; i < data.length - 1; i++) { String[] record1 = data[i].split(" "); Date date1 = sdf.parse(record1[0] + " " + record1[1]); System.out.println(data[i]); // 打印当前数据 String[] record2 = data[i + 1].split(" "); Date date2 = sdf.parse(record2[0] + " " + record2[1]); long diff = date2.getTime() - date1.getTime(); // 获取两条数据的时间戳差 Thread.sleep(diff); // 线程休眠 } System.out.println(data[data.length - 1]); // 打印最后一条数据 } }解决 无用评论 打赏 举报