powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Открытие файла в монопольном режиме
5 сообщений из 5, страница 1 из 1
Открытие файла в монопольном режиме
    #34168865
artgonch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Подскажите, как это сделать. В документации ничего не нашел, например, для FileInputStream.
...
Рейтинг: 0 / 0
Открытие файла в монопольном режиме
    #34168872
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам придется использовать java.nio, конкретно смотрите класс FileChannel.
...
Рейтинг: 0 / 0
Открытие файла в монопольном режиме
    #34172954
artgonch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, как попробовал сделать, но не работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
                                    inputFile =  new  FileInputStream(s);
                                    
                                     int  tryCount =  10 ;
                                    
                                     while  (n >  0 ) {
                                        FileChannel fc = inputFile.getChannel();
                                        
                                        fl = fc.tryLock(); // 1
                                        
                                        tryCount--;
                                    }


На строке 1 выбрасывается исключение: java.nio.channels.NonWritableChannelException.

Неужели нельзя блокировать файлы при чтении?
...
Рейтинг: 0 / 0
Открытие файла в монопольном режиме
    #34172963
Фотография ррмяф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя эксклюзивно блокировать файл открытый только для чтения.
Откройне его в режиме модификации.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
      RandomAccessFile file =  new  RandomAccessFile("xtxt","rw");
      FileChannel channel = file.getChannel();
      FileLock lock = channel.lock();
       int  nxt;
       while  ((nxt = file.read()) != - 1 ){
        System.out.println(nxt);
      }
      lock.release();
      file.close();
...
Рейтинг: 0 / 0
Открытие файла в монопольном режиме
    #34173100
artgonch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Попробую
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Открытие файла в монопольном режиме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]