Предотвратить состояние гонки с файламиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Предотвратить состояние гонки с файлами

Сообщение Anonymous »

Если я проверю, есть ли у меня разрешения на доступ к файлу, например. java.io.File#canRead() и после этого создайте FileOutputStream, возможно (насколько мне известно), что другой процесс (например, chmod или mv) изменяет разрешения или переименовывает файл, удаляет его или заменяет другим файлом.
Например, я хочу что-то записывать в файл только в том случае, если он доступен для выполнения.
В C, Подобные состояния гонки можно предотвратить с помощью FileDescriptor.
В Java существует класс java.io.FileDescriptor, но кажется, что этот класс только для синхронизации буферов и создания потоков, и мне понадобится File*Stream, чтобы получить FileDescriptor.
Как можно предотвратить это состояние гонки, например. с FileDescriptor или другими механизмами?
Или File каким-то образом защищен от этого?

Подробнее здесь: https://stackoverflow.com/questions/600 ... with-files
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»