列出目录内容时出现Appcelerator钛问题

时间:2011-03-18 15:28:25

标签: filesystems directory titanium appcelerator

我想列出目录中包含的所有文件(路径为:[resources folder] / Images / InputImages /)。

这是我的代码:

var path = Ti.Filesystem.resourcesDirectory + Ti.Filesystem.separator + 'Images'+ Ti.Filesystem.separator + 'InputImages';

var imgDirectory = Ti.Filesystem.getFile(path);

Ti.API.info(imgDirectory.nativePath);
//display the right path, I mean  Resources/Images/InputImages

var imagesArray = imgDirectory.getDirectoryListing();

Ti.API.info(imagesArray.length); // display 4, since I only have 3 images and 0 hidden files

for(i = 0; i < imagesArray.length; i++)
{
    Ti.API.info(imagesArray[i].name); //displays <null> for each element.
}

有什么问题?这样做的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:2)

这是解决我问题的代码:

var imagesArray = [];
/////////////////////////
var dirFullPath = Ti.Filesystem.resourcesDirectory + Ti.Filesystem.separator + 'Images' + Ti.Filesystem.separator + 'InputImages';
var dir = Titanium.Filesystem.getFile(dirFullPath);

var dirItems = dir.getDirectoryListing();

for ( var i=0; i<dirItems.length; i++ ) 
{
    var itemFullPath = dirFullPath + Titanium.Filesystem.separator + dirItems[i].toString();

    var item = Ti.Filesystem.getFile(itemFullPath);

    if(IsImage(item.name))
        {imagesArray.push(item);}
}
/////////////////////////