我有一个将String写入文本文件的功能。它有效,但由于某种原因(编码?),它会在文件的开头添加一些奇怪的数据。
以下是相关代码:
var file:File = new File(OUTPUT_FILE_NAME);
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTF("Hello World!");
stream.close();
当我在Notepad ++中打开文件时,会显示:
我做错了什么?
答案 0 :(得分:7)
使用此stream.writeUTFBytes("Hello World");
代替stream.writeUTF("Hello World!");
如果我们使用writeUTF
,那么它会在字符串中写入带有16位长度字的前缀。如果使用writeUTFBytes
,则省略此前缀Length String。
答案 1 :(得分:3)
writeUTF
在将字符串写入文件之前预先设置字符串的长度。如果您只想写字符串,请使用writeUTFBytes
。