我有这段代码:
var fileRef:FileReference = new FileReference();
fileRef.save("ciao coso","lingua.txt");
在现有的lingua.txt文件上写。 该脚本有效但每次保存时都会问我在哪里保存文件...有一种方法可以自动保存在现有的lingua.txt文件中吗? 抱歉英语不好,我是意大利人。 也许我必须使用不同的技术?
答案 0 :(得分:1)
您无法在Flash Player中写入用户的文件系统;出于安全原因,用户必须是保存文件的用户。当Flash在Web浏览器中运行时,这是一件非常好的事情。
作为一种解决方法,您可以使用SharedObjects - 它们的行为就像cookie一样(不依赖于持久存储)。
现在,如果您使用的是Adobe AIR,则可以保存没有用户输入的文件。
您可以使用File和FileStream类执行此操作:
//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: