获取assert目录下文件名及读取

时间:2021-06-21 14:31:21

从assert文件下获取文件名字

获取assert目录下文件名及读取

String[] fl1 = getAssets().list("第一层");
得到数据 ["images", "hello.txt"]

String[] fl1 = getAssets().list("第一层/第二层");
得到数据  [ "helloworld.txt"]

将assert文件copy到sd卡

/**
*
* @param fileName "第一层/第二层/helloworld.txt"
* @param desDir "/mnt/sdcard/mypath/"
* @throws Exception
*/
private void CopyAssetFile(String fileName, String desDir) throws Exception {
String strCpSdPath = desDir + fileName;// "/mnt/sdcard/mypath/第一层/第二层/helloworld.txt"
File file = new File(strCpSdPath);


if (!file.getParentFile().exists()) {
if (!file.getParentFile().mkdirs()) {
Log.i("--CopyAssets--", "cannot create directory.");
throw new Exception("存储卡写入失败!");
}
}

InputStream myInput = getAssets().open(fileName);
file.createNewFile();
OutputStream myOutput = new FileOutputStream(file, true);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
}