【发布时间】:2012-01-17 08:02:16
【问题描述】:
我有一个小型 .Net 库,我想将它移植到 java。对这个库的部分要求是它应该将状态序列化到磁盘上的一个文件中,并且这个文件应该保持“打开”状态,这样这个库的其他实例就不能访问这个文件,但大多数都会创建自己的实例。在 C# 中,我使用了用 FileShare.None 打开的 FileStream 来防止其他人读/写文件。当持有 FileStream 时,我可以读取和写入文件,调用 Flush() 写入磁盘并使用 SetLength(..) 我可以在写入内容后缩短已经存在的文件。
在 java 中,我不确定哪个类提供了最相似的属性。 RandomAccessFile 是我最好的选择,但由于我并不完全精通 Java,我可能会忽略一些更适合的类或 RandomAccessFile 的一些警告。
【问题讨论】:
标签: c# java file-io equivalent