У меня есть небольшая библиотека .Net, которую я хотел бы перенести на Java.Частью требования для этой библиотеки является то, что она должна сериализовать состояние в файл на диске, и этот файл должен оставаться «открытым», чтобы другие экземпляры библиотеки не могли получить доступ к этому файлу, но большинство создавало свой собственный экземпляр.В C # я использовал FileStream, который открывается с FileShare.None для защиты от чтения / записи в файл другими.Удерживая FileStream, я могу читать и писать в файл, вызывая Flush () для записи на диск и используя SetLength (..), я могу сократить уже существующий файл после записи содержимого.
В Java я не являюсьуверен, какой класс предлагает наиболее похожие свойства.RandomAccessFile - моя лучшая ставка, но так как я не очень хорошо разбираюсь в java, я мог бы пропустить какой-то лучше подходящий класс или некоторые предостережения с RandomAccessFile.