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