java相当于.net FileStream

发布于 2024-12-27 12:35:06 字数 355 浏览 1 评论 0原文

我有一个小的.Net 库,我想将其移植到java。该库的部分要求是它应该将状态序列化到磁盘上的文件中,并且该文件应保持“打开”状态,以便该库的其他实例无法访问该文件,但大多数实例都会创建自己的实例。在 C# 中,我使用使用 FileShare.None 打开的 FileStream 来防止其他人读取/写入文件。当持有 FileStream 时,我可以读取和写入文件,调用 Flush() 写入磁盘并使用 SetLength(..) 我可以在写入内容后缩短已经存在的文件。

在 java 中,我不确定哪个类提供最相似的属性。 RandomAccessFile 是我最好的选择,但由于我不太精通 java,我可能会忽略一些更适合的类或 RandomAccessFile 的一些警告。

I have a small .Net library that I would like to port to java. Part of the requirement for this library is that it should serialize state into a file on disk and this file should remain "open" so other instances of the library cannot access this file but most create their own instance. In C# I have used the FileStream which is opened with FileShare.None to guard against others reading/writing to the file. When holding the FileStream I can read and write to the file, calling Flush() to write to disk and using SetLength(..) I can shorten an already existing file after write content.

In java I am not certain which class offers the most similar properties. The RandomAccessFile is my best bet but since I am not exactly well-versed in java I might be overlooking some better suited class or some caveat with RandomAccessFile.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断舍离 2025-01-03 12:35:06

查看 FileWriter,阅读 API 文档,看看它是否适合您的需求。

FileWriter 用于写入字符流。对于写入原始字节流,
考虑使用 FileOutputStream。

再次阅读您的帖子,我实际上认为这可能会回答您的问题:

如何防止文件在使用Java读取和处理时被覆盖?

Check out FileWriter, read the API-Docs to see whether it suits your needs.

FileWriter is meant for writing streams of characters. For writing streams of raw bytes,
consider using a FileOutputStream.

Reading your post again, i actually think this might answer your question:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文