【发布时间】:2020-12-20 18:14:15
【问题描述】:
在 java.io.RandomAccessFile 中,当使用 writeChar() 方法将 char 数组循环写入 文本文件作为
RandomAccessFile txtfile = new RandomAccessFile("Hello.txt","rw");
char c[] = {'S','i','g','n','e','d'};
for(char k:c) txtfile.writeChar(k);
在 Hello.txt 中给出一个结果,就像在普通记事本中打开时一样
S i g n e d
但是,当使用文本编辑器 NotePad++ 打开时,Hello.txt 显示为
[NUL]S[NUL]i[NUL]g[NUL]n[NUL]e[NUL]d
当我使用 writeUTF() 方法将字符串写入 Hello.txt 作为
txtfile.writeUTF("hello");
结果显示为前面的空格,在 NotePad++ 中打开时显示为
[ENQ]hello
在这种情况下,我如何在没有空格的情况下写入或附加法线行(如 [NUL] 或 [ENQ] )?
请发表答案如何在 Java 中的 RandomAccessFile 中将任何字符串写入文件!
谢谢提前!
【问题讨论】:
-
您要使用哪种文件编码?如果使用 UTF-16 作为文件编码,您所描述的是所需的行为。
-
是的,我知道了,我尝试用 UTF-16 格式写一个 UTF-8 字节!所以它在它写的每个字符前面都给出了一个 NUL!
标签: java file-handling java-io randomaccessfile