Blackberry playbook:创建一个新文件夹并保存一些数据
我需要创建一个新文件夹并在其中保存一些数据。代码如下:Blackberry playbook:创建一个新文件夹并保存一些数据,blackberry,air,blackberry-playbook,Blackberry,Air,Blackberry Playbook,我需要创建一个新文件夹并在其中保存一些数据。代码如下: var list:Array=reader.getEntries(); for(var i:uint=0;i < list.length;i++) { var bytes:ByteArray=reader.unzip(list[i]); var fileStream:FileStream=new FileStream();
var list:Array=reader.getEntries();
for(var i:uint=0;i < list.length;i++)
{
var bytes:ByteArray=reader.unzip(list[i]);
var fileStream:FileStream=new FileStream();
fileStream.open(dir.resolvePath( list[i].getFilename() ),FileMode.WRITE);
fileStream.writeBytes(bytes,0,bytes.length);
}
fileStream.close();
但是每当我运行这个代码时,我都会得到这个
错误#3001:文件或目录访问被拒绝
我已在blackberry_tablet.xml中授予reqd权限,即访问共享
另外,我正在使用coltware_airxzip.swf从存储在阵列列表中的zip存档中提取文件。我知道您说过您检查了权限,但我会再次检查。此外,请检查文件目录和文件名值,并确保其中不包含非法的文件名字符。例如,像这样的文件名,“)%@*)!~-`.txt”可能会导致错误 另外,检查用户是否已禁用应用程序权限(在开发过程中不应成为问题) 要消除这种可能性,请查看zip库是否可以创建简单的文件条目:
for(var i:int;i < 5;i++)
{
var fileStream:FileStream = new FileStream();
var file:File = File.applicationStorageDirectory.resolvePath( "test_"+i+".txt" );
// if in directory attempt to create it first - something like this for the directory
// file = !file.exists ? file.createDirectory() : file;
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTFBytes("test data");
fileStream.close();
// if space available is not 0 then that is good indication file was created or saved
// of course so is file.exists
trace("file exists = " +file.exists);
trace("Space available = " +file.spaceAvailable);
}
和应用程序存储路径为:
app-storage:/MyApplication/file_1.txt
但是,我在AIR浏览器或RIM文件管理器中都找不到该文件。所以我不确定问题是什么,但我认为可能是因为它处于调试模式,所以没有编写它。一旦发布,我将能够提供确认
/accounts/1000/appdata/MyApplication.debug.testDev_Maker_debug533b7b57/data/MyApplication/file_1.txt
app-storage:/MyApplication/file_1.txt