[Android资产]:文件或文件夹?
问题描述:
我的资产结构分为多个文件夹和文件。当我打开一个文件时,我需要知道是否是文件或文件夹。我需要知道的是如果文件或文件夹正在访问的资产路径。[Android资产]:文件或文件夹?
我试图通过我正在实施的方法来访问该文件。
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");
感谢的人。有什么方法可以知道你打开的路径是否是一个文件夹? – Hector 2012-07-13 21:48:29
是的,检查出[列表(somePath)](http://developer.android.com/reference/android/content/res/AssetManager.html#list(java.lang.String)),会给你一个列表您正在查看的目录中的资产。如果没有任何返回,那么它可能是一个目录。 – hwrdprkns 2012-07-14 20:06:50
我也在检查文件流的大小,如果他们是0他们是目录,如果他们不是他们是常规文件。 – Hector 2012-07-16 17:47:39