我有一个包含一些数据的存储文件。我想检测它是否已被修改,然后在必要时解决问题。
我想过控制文件中的行数,但我被卡住了。
此外,没有方法可以执行此操作:http: //developer.android.com/reference/java/io/File.html。
请问有什么想法吗?
我有一个包含一些数据的存储文件。我想检测它是否已被修改,然后在必要时解决问题。
我想过控制文件中的行数,但我被卡住了。
此外,没有方法可以执行此操作:http: //developer.android.com/reference/java/io/File.html。
请问有什么想法吗?
使用 MD5 校验和将是一种非常密集的方法,但是如果您比较文件中“修改日期”数据的时间戳,您应该能够有效地找到已修改的文件。
这应该可以帮助您开始
File file = new File(absolute_file_location);
if (file.exists())
{
Date lastModified = new Date(file.lastModified());
}
看看FileObserver
类文档。
您可以尝试使用 md5 文件检查来检查文件的校验和。
Java md5 校验和: 在 Java 中获取文件的 MD5 校验和
或者试试这个 http://www.rgagnon.com/javadetails/java-0490.html
我认为还有其他方法比这更好
使用 File 的 lastModified 方法跟踪文件上次修改的时间戳
http://developer.android.com/reference/java/io/File.html#lastModified ()
另一种方法是使用 Java 的WatchService
.
https://docs.oracle.com/javase/tutorial/essential/io/notification.html
不过,我不确定它在 Android 中的效果如何。