java中的随机访问文件
我有以下字段:
- 库存控制(16 字节记录)
- 产品 ID 代码(int – 4 字节)
- 库存数量(int – 4 字节)
- 价格(双精度 - 8 字节)
如何使用上述长度创建固定长度随机访问文件? 我在网上尝试了一些示例,但是当我尝试访问它们时,我要么收到 EOF 异常,要么收到随机地址值。
我尝试了更多示例,但无法很好地理解这个概念。 我正在尝试用它做一个项目,并将尝试探索更多。
这是一些示例数据。 数据中可能存在漏洞,其中否。 库存
可能是23 == 023
。
Quantity
ID. No. In Stock Price
------- -------- ------
1001 476 $28.35
1002 240 $32.56
1003 517 $51.27
1004 284 $23.75
1005 165 $32.25
谢谢您的帮助。
I have the following fields:
- Inventory control (16 byte record)
- Product ID code (int – 4 bytes)
- Quantity in stock (int – 4 bytes)
- Price (double – 8 bytes)
How do I create a fixed length random access file using the above lengths? I tried some examples online, but I either get an EOF exception or random address values when I try to access them.
I tried some more examples and couldn't understand the concept very well. I'm trying a project with it and will try to explore more on it.
Here is some example data. There might be holes in the data where No. in stock
could be 23 == 023
.
Quantity
ID. No. In Stock Price
------- -------- ------
1001 476 $28.35
1002 240 $32.56
1003 517 $51.27
1004 284 $23.75
1005 165 $32.25
Thanks for the help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
java.io.RandomAccessFile 是您正在寻找的类。 这是一个示例实现(您可能想要编写一些单元测试,因为我没有:)
java.io.RandomAccessFile is the class you're looking for. Here's an example implementation (you'll probably want to write some unit tests, as I haven't :)
在最新的 Java 版本中,您可以使用 FileChannel 管理随机访问文件。 SeekableByteChannel 接口定义的方法允许您更改通道连接到的目标实体(如文件)中的指针位置。 FileChannel 实现了 SeekableByteChannel,允许您使用通道管理随机访问文件。 大小、位置、截断方法允许您随机读写文件。
请参阅http://www.zoftino.com/java-random-access-files 获取详细信息和示例。
With recent Java versions, you can manage Random access files using FileChannel. SeekableByteChannel interface define methods which allow you to change the position of the pointer in the destination entity like file which the channel is connected to. FileChannel implements SeekableByteChannel allowing you to manage random access files using channels. Methods size, position, truncate allow you to read and write files randomly.
see http://www.zoftino.com/java-random-access-files for details and example.