Я заблокировал файл с помощью FileLock в Java, но теперь я не могу читать или писать из него. Что мне делать?
Не удается прочитать или записать из заблокированного файла в Java
comment
Определить не могу. Что происходит вместо этого?
- person user207421   schedule 16.08.2012
Ответы (1)
Хотя у этой проблемы может быть много потенциальных решений, я обнаружил, что следующее работает довольно хорошо:
// Gets a readable and writable channel to your file.
FileChannel channel = new RandomAccessFile(yourFile, "rw").getChannel();
// Allows you to read from the file.
InputStream in = Channels.getInputStream(channel);
// Allows you to write to the file.
OutputStream out = Channels.getOutputStream(channel);
// Lock the file here as you see fit to prevent concurrency issues.
// As a concrete example, you could attempt to lock the file using "channel.tryLock()"
...
Когда я столкнулся с этой проблемой, я обнаружил, что эта проблема очень расстраивает, поэтому я решил поделиться своим решением с другими, кому оно может понадобиться.
person
Dylan Knowles
schedule
15.08.2012