Flex 3/Air:使用FileStream将新的空行写入文件

Edw*_*ard 2 air flex3 actionscript-3

我想使用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();
Run Code Online (Sandbox Code Playgroud)

但它将以下文本写入文件:

Line1 Line2 Line3.

我很确定我犯了一个非常错误的错误,但我无法弄清楚它是什么.谁能帮我?

感谢您的时间 :)

dav*_*avr 6

你是如何打开Database.txt的?如果您使用的是notepad.exe,它将全部显示在一行上,因为notepad.exe被延迟并且不支持unix行结尾(\n).如果您绝对需要在notepad.exe中打开它,您需要做的是使用Windows行结尾(\r\n).所以你的代码看起来像:

FS.writeUTFBytes("Line1" + "\r\n" + "Line2" + "\r\n" + "Line3");
Run Code Online (Sandbox Code Playgroud)

但是现在您还必须确保在将txt文件加载回AIR应用程序时,您的代码可以处理这些Windows行结尾(或者您可能最终会出现重复的行)