AS3/AIR,通过按下无保存按钮的对话框生成.txt文件
问题描述:
这是一个Flash应用程序,将通过Adobe Air部署在Android设备上。我试图将用户的用户名和分数(boxTwo.text + _clickTxt.text)保存在记事本.txt文件中,而没有任何对话框出现在android设备中。一旦保存按钮(btnSave)被按下,它就会生成。我无法让它工作。谢谢!这是我的代码:AS3/AIR,通过按下无保存按钮的对话框生成.txt文件
import flash.net.FileReference;
import flash.events.Event;
var so:SharedObject = SharedObject.getLocal("Test");
var f:File=new File("path\to\file.txt")
var str:FileStream=new FileStream();
btnSave.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
so.data.saveData = currentFrame;
so.flush();
}
btnSave.addEventListener (MouseEvent.CLICK, saveFile)
function saveFile(evt):void
{
str.open(f, FileMode.WRITE);
str.writeUTFBytes(boxTwo.text + _clickTxt.text);
str.close();
}
答
默认Adobe空气不允许将文件写入 您可以得到只写访问的任何目录:
- File.documentsDirectory
- File.applicationStorageDirectory
-
这是被选择的 “browseForDirectory()” 对话框
FIL一个目录eVariable.browseForDirectory(“选择一个目录”);
(还有其他目录针对每个平台,但一般他们是这3种) 所以只要改变你的路径允许的目录
var string:String = "Text";
var file:File = File.documentsDirectory.resolvePath("myTxtFile.txt");
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTFBytes(string);
stream.close();
+0
它在Adobe Air中工作吗? – niagrafallsxxx
'我不能让work'什么这是什么意思?它会崩溃吗?或者是什么? –
@VladMatvienko在保存记事本文件之前首先出现一个对话框/确认。它要求记事本文件的位置。我想要的是它将被保存而没有对话框。谢谢! – niagrafallsxxx