Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.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 - Fatal编程技术网

检查android中资产文件夹中是否存在文件

检查android中资产文件夹中是否存在文件,android,Android,如何在android中检查资产文件夹中是否存在文件 我使用的是Android Studio,似乎没有资产文件夹。所以我创造了一个 我正在使用此代码加载我的字体: File pdfFile = null; try { pdfFile = new File(new URI(("file:///android_assets/tahoma.ttf"))); if (pdfFile.exists()) Toast.makeText(MainActivity.this,"Ex

如何在android中检查资产文件夹中是否存在文件

我使用的是Android Studio,似乎没有资产文件夹。所以我创造了一个

我正在使用此代码加载我的字体:

File pdfFile = null;
try {
    pdfFile = new File(new URI(("file:///android_assets/tahoma.ttf")));
    if (pdfFile.exists())
        Toast.makeText(MainActivity.this,"Exist",Toast.LENGTH_LONG).show();
    else
        Toast.makeText(MainActivity.this,"No Exist",Toast.LENGTH_LONG).show();
} catch (URISyntaxException e) {
    e.printStackTrace();
}
Android Studio 0.5.2中项目的结构:

root-module
|--.idea
|--app
|----build
|----src
|------main
|--------assets
|----------tahoma.ttf
|--------java
|----------source code here
|--------res
|------AndroidManifest.xml
|----build.gradle
buidl.gradle文件:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.1.0'
    sourceSets {
        main {
            assets.srcDirs = ['assets']
        }
    }
    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 17
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile files('libs/android-support-v4.jar')

    }
}

您可以使用AssetManager Api,例如:

AssetManager am = getAssets();
List<String> mapList = Arrays.asList(am.list(""));
AssetManager am=getAssets();
List mapList=Arrays.asList(am.List(“”));

您可以使用AssetManager Api,例如:

AssetManager am = getAssets();
List<String> mapList = Arrays.asList(am.list(""));
AssetManager am=getAssets();
List mapList=Arrays.asList(am.List(“”));

您应该使用以下代码检查文件是否存在:

AssetManager assetManager = getResources().getAssets();

try {
  InputStream inputStream =assetManager.open(PATH_TO_YOUR_FILE);

} catch (IOException ex) {
  ex.printStackTrace();
} finally {
   inputStream.close()
}

应使用以下代码检查文件是否存在:

AssetManager assetManager = getResources().getAssets();

try {
  InputStream inputStream =assetManager.open(PATH_TO_YOUR_FILE);

} catch (IOException ex) {
  ex.printStackTrace();
} finally {
   inputStream.close()
}
AssetManager am=getAssets();
试一试{
List mapList=Arrays.asList(am.List(“path/in/assets/folder”);
if(mapList.contains(“文件到检查”)){
Log.e(“错误”、“存在”);
}否则{
Log.e(“错误”,“不存在”);
}
}捕获(IOEX异常){
例如printStackTrace();
}
AssetManager am=getAssets();
试一试{
List mapList=Arrays.asList(am.List(“path/in/assets/folder”);
if(mapList.contains(“文件到检查”)){
Log.e(“错误”、“存在”);
}否则{
Log.e(“错误”,“不存在”);
}
}捕获(IOEX异常){
例如printStackTrace();
}

您的测试让输入流根据您的注释打开,我使用“inputStream=assetManager.open(“tahoma.ttf”);”但是错误。您的测试让输入流根据您的注释打开,我使用“inputStream=assetManager.open(“tahoma.ttf”);”但是错误。
数组.asList(getResources().getAssets().list(“”)。包含(“myFile”)
Arrays.asList(getResources().getAssets().list(“”)中的一行程序。包含(“myFile”)Arrays.asList中的一行程序