3

我有一个包含一些数据的存储文件。我想检测它是否已被修改,然后在必要时解决问题。

我想过控制文件中的行数,但我被卡住了。

此外,没有方法可以执行此操作:http: //developer.android.com/reference/java/io/File.html

请问有什么想法吗?

4

5 回答 5

4

使用 MD5 校验和将是一种非常密集的方法,但是如果您比较文件中“修改日期”数据的时间戳,您应该能够有效地找到已修改的文件。

这应该可以帮助您开始

File file = new File(absolute_file_location);

if (file.exists())
{
  Date lastModified = new Date(file.lastModified());
}
于 2011-09-12T11:24:40.943 回答
4

看看FileObserver文档。

于 2011-09-12T11:25:29.823 回答
2

您可以尝试使用 md5 文件检查来检查文件的校验和。

Java md5 校验和: 在 Java 中获取文件的 MD5 校验和

或者试试这个 http://www.rgagnon.com/javadetails/java-0490.html

我认为还有其他方法比这更好

于 2011-09-12T11:21:02.373 回答
1

使用 File 的 lastModified 方法跟踪文件上次修改的时间戳

http://developer.android.com/reference/java/io/File.html#lastModified ()

于 2011-09-12T11:24:35.753 回答
0

另一种方法是使用 Java 的WatchService.

https://docs.oracle.com/javase/tutorial/essential/io/notification.html

不过,我不确定它在 Android 中的效果如何。

于 2016-03-01T16:32:53.107 回答