File directory = new File(android.os.Environment.getExternalStorageDirectory()+ File.separator+"folder");
上述代码可以将存储卡中的文件夹作为文件获取。然后我使用File
类来获取文件夹中的文件。
如何从资产中获取File
对象的文件夹?
答案 0 :(得分:0)
没有“资产文件夹中存在的文件的绝对路径”。您可以使用以下代码从资源文件夹中获取详细信息,
uri = Uri.fromFile(new File("//assets/aaa/aaa.txt"));
答案 1 :(得分:0)
试试如下:
AssetManager am = getAssets();
InputStream inputStream = am.open(file:///android_asset/foldername/filename);
File file = createFileFromInputStream(inputStream);
private File createFileFromInputStream(InputStream inputStream) {
try{
File f = new File(my_file_name);
OutputStream outputStream = new FileOutputStream(f);
byte buffer[] = new byte[1024];
int length = 0;
while((length=inputStream.read(buffer)) > 0) {
outputStream.write(buffer,0,length);
}
outputStream.close();
inputStream.close();
return f;
}catch (IOException e) {
//Logging exception
}
return null;
}
使用以下代码将Assets文件夹和文件转换为字符串数组。
final AssetManager assetManager = getAssets();
try {
// for assets folder add empty string
String[] filelist = assetManager.list("");
// for assets/subFolderInAssets add only subfolder name
String[] filelistInSubfolder = assetManager.list("subFolderInAssets");
if (filelist == null) {
// dir does not exist or is not a directory
} else {
for (int i=0; i<filelist.length; i++) {
// Get filename of file or directory
String filename = filelist[i];
}
}
} catch (IOException e) {
e.printStackTrace();
}