我想使用 Flex 3/Air 将一些文本直接写入文件。文件中的文本(称为“Database.txt”)必须具有以下格式:
第 1 行
第2行
第3行
var FS:FileStream = new FileStream();
var DatabaseFile:File = File.desktopDirectory.resolvePath("Database.txt");
FS.open(DatabaseFile, FileMode.WRITE);
FS.writeUTFBytes("Line1" + "\n" + "Line2" + "\n" + "Line3");
FS.close();
但它将以下文本写入文件:
线路1线路2线路3。
我很确定我犯了一个非常愚蠢的错误,但我不知道它是什么。谁能帮我吗?
感谢您的宝贵时间:)
最佳答案
如何打开Database.txt?如果您使用的是 notepad.exe,它将全部显示在一行上,因为 notepad.exe 速度较慢且不支持 UNIX 行结尾 (\n
)。如果您确实需要在 notepad.exe 中打开它,则需要使用 Windows 行结尾 (\r\n
)。所以你的代码看起来像:
FS.writeUTFBytes("Line1" + "\r\n" + "Line2" + "\r\n" + "Line3");
但现在您还必须确保在将 txt 文件加载回 AIR 应用程序时您的代码可以处理这些 Windows 行结尾(否则您可能会得到重复的行)
关于actionscript-3 - 弹性 3/空气 : Writing blank new lines to files using FileStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570615/