Практическое руководство синхронизирует доступ к файлу в совместно используемой папке с помощью Java (ИЛИ: ReadWriteLock на сетевом уровне)

Написать

imageEncoding = imageEncoding.replaceAll(" ","");

Строки являются неизменными в Java.

5
задан Eduard Wirch 12 December 2008 в 09:57
поделиться

2 ответа

Можно использовать возможности блокировки NIO. См. FileChannel#lock ().

Однако это будет работать только если лежание в основе блокировки поддержек файловой системы по сети. Недавний NFS должен поддерживать его. Вероятно, Samba поддерживает их также, но не может сказать наверняка.

См. статью, например.

4
ответ дан 15 December 2019 в 01:13
поделиться

Взгляните на Javadoc для createNewFile () метод - он конкретно указывает, что создание файлов не является надежным методом для синхронизации и рекомендует класс FileLock вместо этого (это - другой пакет в java.nio.channels так по существу то же как, что Ivan Dubrov предлагает).

Это подразумевало бы, что Ваша идентификация проблемы точна, и никакой объем проигрывания вокруг не решит это с традиционным созданием файла. Моя первая мысль состояла в том, чтобы проверить код возврата от createNewFile (), но если Javadoc говорят, что это не подходит затем, пора идти дальше.

0
ответ дан 15 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: