[Android资源]:文件或文件夹?

时间:2012-07-13 19:32:31

标签: android file uri directory assets

我的资产结构分为文件夹和文件。当我打开文件时,我需要知道它是文件还是文件夹。我需要知道的是我正在访问的资产路径,如果是文件或文件夹。

我正在尝试通过我正在实施的方法访问该文件。

public int getFileType (String filepath)
{
    String PACKAGE_APP_NAME = /com/fake/android/app;
    File f = null; 

    try{
        //f = new File(new URI("file:///android_asset/" + JNI_CLASSES + "/" + filepath));   
        f = new File(new URI("file:///android_asset/" + filepath)); 
    }
    catch (URISyntaxException e) {}

    if (f == null)
    {
        Log.e("ResListMaker","File Object Is Null");
        return -1;
    }
    else if (!f.exists())
    {
        Log.e("ResListMaker","File Doesn't Exist");
        return -1;
    }
    else if (f.isFile())
    {
        Log.e("ResListMaker","Regular File");
        return 0;
    }
        else if (f.isDirectory())
    {
        Log.e("ResListMaker","Directory");
        return 1;
    }
    else
    {
        Log.e("ResListMaker","Unknown type");
        return -1;
    }
}

但总是返回文件不存在。 URI路径是否正确?还有其他方法可以知道资产是文件还是文件夹?

由于

1 个答案:

答案 0 :(得分:1)

这是访问资产文件夹的错误方法。

InputStream is = getAssets().open("subfolder/somefile.txt");

Android Assets with SubFolders