2010-06-29 66 views
1

嘿傢伙,我試圖從一個特定的文件夾中獲取每個文件的名稱到一個數組, 但我得到這個錯誤,我找不到原因..這可能是一個愚蠢的問題,但無論如何。在ActionScript 3.0中返回數組(Flash和空氣)

TypeError: Error #1009: Cannot access a property or method of a null object reference.

這裏是我的代碼:

import flash.filesystem.File; 

function getFileList(directory:String):Array 
{ 
var folder:File = new File(directory); 
var files:Array = folder.getDirectoryListing(); 
var fileList:Array; 

for(var i = 0; i < files.length -1; i++) 
{ 
var path:String = files[i].nativePath; 
var split:Array = path.split(File.separator); 
fileList[i] = (split[split.length -1]); 
} 
return fileList; 
} 

var list:Array = getFileList("E://Whatever//Whatever"); 

回答

0

我願意打賭它沒有找到您要進入的路徑,所以你不能得到一個目錄列表吧。

嘗試放入一些痕跡,看看它是否卡住。

+0

非常感謝您的回答的人,但是那不是它。我只是改變了這一行:var fileList:Array;對於該行:var fileList:Array = new Array();它的工作。但無論如何,再次感謝人,你的回答讓我看到問題出在哪裏。 :) – Simon 2010-06-29 01:49:57

2

當您在循環中調用fileList[i] = (split[split.length -1]);時,您忘記初始化fileList數組,因此它是null

變化

var fileList:Array; 

var fileList:Array = []; 
+0

在使用文字進行初始化方面的有效評論比使用構造函數更快,請參閱http://tekkie.flashbit.net/flash/as/actionscript-3-array-constructor-vs-array-literals - 基準測試。 – 2010-06-29 10:11:10