2012-01-17 22 views
1

私はjavaに移植したい小さな.Netライブラリを持っています。このライブラリの要件の1つは、ディスク上のファイルに状態をシリアル化する必要があり、ライブラリの他のインスタンスがこのファイルにアクセスすることはできませんが、ほとんどが独自のインスタンスを作成できるように、このファイルは「オープン」のままにしておく必要があるということです。 C#ではFileShare.Noneで開かれたFileStreamを使用して、他の人がファイルを読み書きすることを防ぐことができます。 FileStreamを保持すると、Flush()を呼び出してディスクに書き込み、SetLength(..)を使用してファイルに読み書きできます。コンテンツを書き込んだ後に既存のファイルを短くできます。javaと同等の.net FileStream

Javaでは、どのクラスが最も類似したプロパティを提供するかはわかりません。 RandomAccessFileは私の最高の賭けですが、私はJavaに精通していないので、RandomAccessFileでいくつかの警告やクラスを見落としているかもしれません。

+0

http://stackoverflow.com/questions/6842028/java-how-to-read-and-ファイルを同時に書き込む –

答えて

1

FileWriterをチェックし、APIドキュメントを読んでニーズに合っているかどうかを確認します。

FileWriterは文字のストリームを書き込むためのものです。生のバイトのストリームを書き込むためには、 はFileOutputStreamの使用を検討してください。

もう一度あなたの投稿を読んで、私は実際にこれがあなたの質問に答えるかもしれないと思う:

How to prevent file from being overridden when reading and processing it with Java?

関連する問題