【问题标题】:WriteInt-RandomAccessFile - javaWriteInt-RandomAccessFile - java
【发布时间】:2012-04-03 19:49:51
【问题描述】:

我正在尝试使用 RandomAccessFile 类在 java 中(在 linux 上)编写一个程序来写入文件。

由于某些非常奇怪的原因,它无法正常工作。 最简单的代码不起作用。 尝试使用时:

RandomAccessFile file = new RandomAccessFile("a.txt", "rw");
file.writeInt(3);
file.close();

它会将文件留空或用乱码填充它

我认为这与一些我不熟悉的编码问题有关。

有人对此有什么想法吗?

谢谢

【问题讨论】:

  • 用二进制写一个 3 然后尝试在常规文本编辑器中查看它当然会打印出乱码。在 ASCII 中,3 对应于文本结束。
  • @Hiro2k 这是一个答案。像这样发布它

标签: java random-access


【解决方案1】:

它只是将一个 32 位整数写入文件(在您的情况下,它是字节序列 00 00 00 03)。如果你想写成字符串,你需要

    RandomAccessFile file = new RandomAccessFile("a.txt", "rw");
    file.writeBytes(Integer.toString(3));
    file.close();

【讨论】:

    【解决方案2】:

    最好通过像这样的教程来学习如何使用随机访问文件

    http://www.java-tips.org/java-se-tips/java.io/how-to-use-random-access-file.html

    【讨论】:

    • 我确实阅读了教程,但几乎没有一个使用 writeInt,而且那些使用并且我复制粘贴它们的那些,它们也不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2011-11-24
    • 1970-01-01
    • 2021-08-25
    • 2012-01-31
    • 1970-01-01
    相关资源
    最近更新 更多