我試圖將存儲在我的應用程序的assets文件夾中的一些預加載內容複製到sdk卡。問題是我似乎無法獲得我想要複製的目錄的文件路徑。我想循環播放項目中我的資產文件夾中存儲的preloadedcontent文件夾,然後將其中的每個文件夾複製到sdk卡。我可以遍歷預加載的內容的文件名確定,但得到filenotfound例外,當我嘗試跨目錄複製:Android:無法複製資產文件夾中子目錄的子目錄
- Assets/
-- preloadedcontent/
--- 112/
--- 113/
--- 114/
private void copyAssets() {
AssetManager assetManager = getAssets();
String[] files = null;
try {
files = assetManager.list("preloadedcontent");
} catch (IOException e) {
Log.e("tag", "Failed to get asset file list.", e);
}
for(String filename : files) {
Log.d("file: ",filename);
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open("preloadedcontent/" + filename + "/");
File outFile = new File(_DirectoryName, filename);
out = new FileOutputStream(outFile);
//copyFile(in, out);
File f = stream2file(in,filename);
copyDirectory(f,outFile);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch(IOException e) {
Log.e("tag", "Failed to copy asset file: " + filename, e);
}
}
}
錯誤是在這條線assetManager.open(「preloadedcontent/「+文件名+」/「);
資產文件夾是可讀僅 – prakash
是,即時沒有寫入它。 Im將內容複製到另一個位置... – user987723
資產管理器無法處理子文件夾。我爲此寫了一個解決方法。 http://stackoverflow.com/questions/12636861/why-is-assetmanger-list-so-slow/12639346#12639346 – Simon