2013-10-10 6 views
0

У меня есть приложение, которое загружает конфигирование из файла, который находится в определенном месте. Я обнаружил некоторую проблему при загрузке информации из файла, когда пользователь или кто-то ее нарушает, и как я могу запретить пользователю ее изменять. Если бы я сделал это только для чтения, мне было бы скучно для моего приложения обновлять его. , пожалуйста, дайте несколько быстрых входов.Предотвратите файл, чтобы получить запись от пользователя или любого приложения

ответ

3

Вы ищете блокировку в файле?

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

замок Файл представляет собой механизм, который ограничивает доступ к компьютерному файлу, позволяя только одному пользователь или доступ процесса в любой определенный момент времени. Системы реализуют блокировку, чтобы предотвратить классический переходный сценарий обновления (см. Состояние гонки). (http://en.wikipedia.org/wiki/File_locking)

С замком, что вы добьетесь, является предоставление блока на файл, и только пользователь/процесс, который запер ее, сможет выполнять задачи на нем, в то время как остальные, будет быть уведомленным о том, что они не могут редактировать его, поскольку он заблокирован кем-то другим.

Edit:

Чтобы проверить, если файл был изменен с момента вашего последнего изменения с помощью Java Application, что вы могли бы сделать, это создать MD5 Hash, когда вы закончите редактирование. Тогда сохраните его где-нибудь. И каждый раз, когда вы пытаетесь отредактировать этот файл, вы можете просто проверить, было ли оно изменено путем сравнения фактического хэша md5 с тем, который вы сохранили в прошлый раз.

+0

Дайте правильный ответ вместо ссылки. Я буду повышать ... – Thihara

+0

@Thihara Я был на нем. – Reinherd

+0

@ SergiCastellsaguéMillán это своего рода блокировка, которая приобретает для доступа к ней, но я хочу, чтобы проверить, что этот файл не будет изменен. Я хочу, чтобы он оставался таким же, как мое приложение, обновляющее его. – RTA

Смежные вопросы