java - 写入随机访问文件

标签 java file streamwriter

我有一个项目,我必须写入随机访问文件。

我正在读取一个国家的一些信息,包括:ID、名称、独立年份等。这些信息是我必须写入文件的内容。

我的问题是:

  • 如何测量正在写入随机访问文件的记录的大小? 我知道如何通过以下方式做到这一点:filewrite.int(variable)。但该项目要求我以某种方式使每个字符的书写位置保持恒定的大小。

  • 我知道 2 个字节是一个字符,但是我怎么能说“我想写这一行(其中每一行都是一个国家及其信息),所以写从字节 1 到字节 15 的行并有一个恒定大小”?

谢谢!

最佳答案

您不必测量记录的大小。在这种情况下,我想说您应该为记录的每个字段定义固定长度。这样,您将始终知道记录有多长。您应该能够使用RandomAccessFile 。通读该类的文档。如果您想让您的生活更轻松,请为您的特定文件编写一个服务类来包装 RandomAccessFile 方法。

服务类的方法签名示例如下:

void writeCountry(int recordNumber, String country) throws IllegalArgumentException;

然后,当您实现此功能时,您将进行一些数学运算来找出要查找的位置以及要写入文件的内容。

关于java - 写入随机访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12464694/

相关文章:

java - 在 Android 中保存文件

java - Camel 休息生产者 - 未能创建生产者

java - 像pinterest这样的Android异构gridview?

iphone - iPhone/iPad 上的文件共享?

python - 谷歌colab中的for循环列表索引超出范围

Windows cmd提示移动文件

java - 从剪贴板中拉出字符串时出现输入问题

java - 快速 Java 匿名函数/类问题

c# - 将硬盘串行字符串写入二进制文件

node.js - nodejs写入文件为空