В программе Java мне присваивается объект java.nio.Path
, и мне нужно заблокировать файл, а затем загрузить из него объект java.util.Properties
.В Java, используя библиотеку java.nio и FileChannel, как я могу загрузить объект Properties из файла?
Я прочитал, что правильный способ, чтобы получить общую блокировку для файла, представленного в качестве Path
, чтобы получить java.nio.channels.FileChannel
зафиксировать его с общим замком channel.lock(0L, Long.MAX_VALUE, true)
final FileChannel channel = FileChannel.open(filePath, StandardOpenOption.READ);
final FileLock lock = channel.lock(0L, Long.MAX_VALUE, true);
Теперь, когда я запер канал , Я предполагаю, что теперь я должен ссылаться на этот канал, когда я загружаю файл свойств.
Однако, я не вижу простого способа перевести FileChannel
во что-то, что можно прочитать Properties
. Properties
принимает InputStream
, или Reader
. Я мог бы реализовать своего собственного читателя, но я уверен, что моя команда предпочла бы использовать что-то готовое, если оно доступно.
Кто-нибудь знает о такой вещи?
Является ли мое основное допущение неправильным? Если да, то каков правильный поток для этой процедуры?
Что со всеми запирающим и 'FileChannel' осложнение? Обычное чтение файла свойств очень просто. – Kayaman
Я ожидаю, что внешние процессы будут записываться в этот файл. Я не хочу пытаться загрузить свойства одновременно с изменением другого процесса. – ds390s
Кажется, что общение на основе файлов может быть плохой. – Kayaman