2012-04-03 25 views
2

我正在尝试使用RandomAccessFile类编写用于写入文件的java程序(在linux上)。WriteInt-RandomAccessFile - java

对于一些非常奇怪的原因,它不工作。 最简单的代码不起作用。 时尝试使用:

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

它醚离开文件空白或gibrish

我认为它有一些编码的问题我不熟悉,做填充它。

任何人有什么想法吗?

谢谢

+2

二进制好写3,然后试图在一个普通的文本编辑器当然会打印giberish进行查看。在ASCII中,3对应于文本的结尾。 – Hiro2k 2012-04-03 20:04:53

+1

@ Hiro2k这是一个答案。发布这样的 – 2012-04-03 20:06:43

回答

2

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

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