import java.io.*;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
public class Main {
public static void main(String[] args) {
String resultPath = "……\\result.txt";
File file = new File(resultPath);
StringBuilder builder = new StringBuilder();
String beginTime = null;
String endTime = null;
try (RandomAccessFile randomAccessFile = new RandomAccessFile(file, "r")) {
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(resultPath)));
String readLine = null;
while ((readLine = reader.readLine()) != null) {
if (readLine.contains("Start Time")) {
String[] tmp = readLine.split("-");
beginTime = tmp[tmp.length - 1].replace(" ", "");
System.out.println(beginTime);
}
}
long fileLastPointer = randomAccessFile.length() - 1;
for (long i = fileLastPointer; i != -1 ; i--) {
randomAccessFile.seek(i);
int readByte = randomAccessFile.readByte();
if (0xA == readByte) {
if (i == fileLastPointer) {
continue;
}
break;
}
if (0xD == readByte) {
if (i == fileLastPointer - 1) {
continue;
}
break;
}
builder.append((char) readByte);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
endTime = builder.reverse().toString().split("\t")[0];
System.out.println(endTime);
if (beginTime == null) {
return;
}
LocalTime begin= LocalTime.parse(beginTime);
LocalTime end = LocalTime.parse(endTime);
long hours = ChronoUnit.HOURS.between(begin, end);
long minutes = ChronoUnit.MINUTES.between(begin, end) % 60;
long seconds = ChronoUnit.SECONDS.between(begin, end) % 60;
System.out.println("时间差为:" + hours + " 小时 " + minutes + " 分钟 " + seconds + " 秒");
}
}