c# - java相当于.net FileStream

标签 c# java file-io equivalent

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

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

最佳答案

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

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

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

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

关于c# - java相当于.net FileStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8891359/

相关文章:

c# - 如何强制 ReSharper 始终将第一个参数与方法放在同一行?

java - 使用java在mysql中创建用户

java - 如何在 Java 程序中读取 JavaScript 输出文本

c++ - 为什么要在 Linux 中挂载文件

C++以不同方式读取两个输入文件

c# - 按升序或降序对数字或字母进行通用排序

c# - 如何设置包含 C# 文件、MySQL 和 MATLAB 文件的项目

c# - CA1001 在异步方法上实现 IDisposable

java - 是 8.5.5。 Web 应用程序在启动期间出现 NoSuchFieldError

algorithm - 从大文件中删除重复项