Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android [安卓资产]:文件还是文件夹?_Android_File_Uri_Directory_Assets - Fatal编程技术网

Android [安卓资产]:文件还是文件夹?

Android [安卓资产]:文件还是文件夹?,android,file,uri,directory,assets,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://

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

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

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路径正确吗?是否有其他方法可以知道资产是文件还是文件夹


谢谢

这是访问您的资产文件夹的错误方式

InputStream is=getAssets().open(“subfolder/somefile.txt”)


谢谢你,伙计。有没有办法知道您在open中提供的路径是否是文件夹?是的,请查看它,它将为您提供您正在查看的目录中的资产列表。如果没有返回任何内容,那么它可能是一个目录。我还认为在检查文件流大小时,如果它们为0,则它们是目录,如果它们不是,则它们是常规文件。