如何在没有as3的情况下在外部文件上写入

时间:2015-12-07 01:44:20

标签: file actionscript-3

我有这段代码:

var fileRef:FileReference = new FileReference();
fileRef.save("ciao coso","lingua.txt");

在现有的lingua.txt文件上写。 该脚本有效但每次保存时都会问我在哪里保存文件...有一种方法可以自动保存在现有的lingua.txt文件中吗? 抱歉英语不好,我是意大利人。 也许我必须使用不同的技术?

1 个答案:

答案 0 :(得分:1)

您无法在Flash Player中写入用户的文件系统;出于安全原因,用户必须是保存文件的用户。当Flash在Web浏览器中运行时,这是一件非常好的事情。

作为一种解决方法,您可以使用SharedObjects - 它们的行为就像cookie一样(不依赖于持久存储)。

现在,如果您使用的是Adobe AIR,则可以保存没有用户输入的文件。

您可以使用FileFileStream类执行此操作:

//do these 3 lines regardless of opening/saving
var file:File = File.applicationStorageDirectory; //default place to save files - see the File class documentation for other shortcuts to common places
file = file.resolvePath("lingua.txt");
var fileStream:FileStream = new FileStream();

//to open the file:
fileStream.open(file, FileMode.READ);
var str:String = fileStream.readUTF();
fileStream.close();

//to save the file:
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF("my string to write");
fileStream.close();

有关编写文件的详细信息,请参阅this article