2013-10-10 112 views
0

我有一个应用程序从驻留在特定位置的文件加载配置。当用户或任何人破坏文件时,我从文件中加载信息时发现一些问题,所以我如何防止用户修改它。如果我只读了它,那么对于我的应用程序来更新它会很乏味。 所以请给一些快速输入。阻止文件获取来自用户或任何应用程序的写入

回答

3

您是否正在寻找文件中的锁?

http://www.javabeat.net/2007/10/locking-files-using-java/

文件锁定是通过允许在任何特定的时间只有一个用户或进程访问限制访问的计算机文件的机制。系统实现锁定以防止传统的交替更新场景(请参阅竞争条件)。 (http://en.wikipedia.org/wiki/File_locking

带锁,你会实现,被授予对文件的块,并且只有用户/进程锁定它,就可以在其上执行任务,而其余的,将被通知他们无法编辑它,因为它被别人锁定。

编辑:

要检查文件是否已经因为您的Java应用程序最近更改修改,你可以做的是创造一个MD5哈希,完成编辑它的时候。然后保存在某个地方。每次尝试编辑该文件时,都可以通过将实际的md5哈希与上次存储的哈希进行比较来检查它是否已被修改。

+0

给出一个正确的答案,而不是一个链接。我会upvote然后... – Thihara

+0

@Thihara我在上面。 – Reinherd

+0

@SergiCastellsaguéMillán这是获取访问它的锁,但我想如何验证,该文件不会被修改,我希望它保持与我的应用程序更新它相同。 – RTA

相关问题