我正在尝试从ActionScript Mobile Project中的文本文件中读取单词。然后将每个Word存储在一个数组中。这在AIR IOS模拟器期间工作正常,但现在我在Ipad上调试并且它无法工作......
错误#2044:未处理的ioError: text =错误#2032:流错误。网址:app:/var/mobile/Applications/13FB44C5-E2EB-421F-9EF8-CB1290B75DD8/Library/Application%20Support/com.mcmami3.word/Local%20Store/media/words5.txt
private function slangLoadedThree(event:Object):void {
slangContentThree = event.target.data;
slangArrayThree= slangContentThree.split("\n");
}
//five letter load
var xmlFileFive:File=new File(File.applicationStorageDirectory.nativePath).resolvePath("media/words5.txt");
myLoaderThree.load(new URLRequest(xmlFileFive.nativePath));
myLoader.addEventListener(AsyncErrorEvent.ASYNC_ERROR, errorHandlerAsyncErrorEvent);
myLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandlerIOErrorEvent);
myLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandlerSecurityErrorEvent);
myLoaderThree.addEventListener(Event.COMPLETE, slangLoadedThree);
答案 0 :(得分:1)
如果只有一个文件,您可以像嵌入图像一样嵌入txt文件。关于如何找到的方向:
Flex3: Load contents of an embedded text file into a variable
或在这里:
答案 1 :(得分:1)
尝试以下方法之一:
myLoaderThree = new URLLoader();
myLoaderThree.addEventListener(Event.COMPLETE, processText, false, 0, true);
myLoaderThree.load(new URLRequest("media/words5.txt"));
或
var xmlFileFive:File = File.applicationStorageDirectory.resolvePath("media/words5.txt");
var _urlRequest:URLRequest = new URLRequest(f.url);
myLoader = new Loader();
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, processText, false, 0, true);
myLoader.load(_urlRequest);
两者都可以使用:
private function processText(e:Event):void {
trace(e.target.data);
}
答案 2 :(得分:0)
发布应用时是否包含媒体文件夹和words5.txt文件?
即。在Flash Pro中>发布设置>单击AIR版本下拉框旁边的扳手按钮>在“常规”选项卡中,您有一个“包含的文件”区域。您应该在此处添加媒体文件夹。
答案 3 :(得分:0)
因为我只是通过读取文件来创建数组,所以我也可以跳过读取文件并一次创建一个元素。当然我并不是说在Flash Builder中输入array [0] array [1]。但是我编写了一个单独的C ++程序,它将读取我的WORD文件,然后写入另一个文件“slangArrayOne [0] =”WORD“”并为每个单词索引数组。然后,我接受该文件的输出,即...... slangArrayOne [0] =“WORD”; slangArrayOne [1] =“WORD2”;并将它们放在Action Script Class中。
我现在可以在iPad上使用我的Word数据进行文字游戏......这可能是一个更好的方式,但我是新手。还有什么区别是在App加载到populate期间读取文件和大小为X的数组相比,只是在程序中填充了X大小的数组?
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
cout<<"Hello";
cin.ignore();
string line;
int x = 0;
ifstream myfile ("FiveLetterWords.txt");
// open a file in write mode.
ofstream outfile;
outfile.open("FiveLetterWordsNew.txt");
if (myfile.is_open())
{
while ( myfile.good() )
{
getline (myfile,line);
cout << "slangArrayFour["<<x<<"] = "<< "\""<< line <<"\"" <<"\n";
outfile<< "slangArrayFour["<<x<<"] = "<< "\""<< line <<"\"" <<";"<<"\n";
x++;
}
myfile.close();
}
else cout << "Unable to open file";
cin.ignore();