[英]How to get folder from assets?
File directory = new File(android.os.Environment.getExternalStorageDirectory()+ File.separator+"folder");
上面的代碼可以將存儲卡中的文件夾作為文件。 然后,我使用File
類來獲取文件夾中的文件。
如何從資產中獲取文件夾作為File
對象?
沒有“資產文件夾中現有文件的絕對路徑”。 您可以使用以下代碼從資產文件夾中獲取詳細信息,
uri = Uri.fromFile(new File("//assets/aaa/aaa.txt"));
嘗試如下:
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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.