美好的一天!
我刚刚开始为Android开发。在我的应用中,我需要将资产文件夹中的项目复制到内部存储中。
我在SO上进行了大量搜索,包括将其复制到外部存储的内容。
这就是我要实现的目标:内部存储中已经存在一个目录,即X> Y> Z。我需要将一个文件复制到Y,将另一个复制到Z。
任何人都可以通过代码片段帮助我吗?我真的不知道该如何继续。
对不起,我的英语不好。
非常感谢。
用
String out= Environment.getExternalStorageDirectory().getAbsolutePath() + "/X/Y/Z/" ; File outFile = new File(out, Filename);
在您的参考中编辑后。链接答案。
private void copyAssets() { AssetManager assetManager = getAssets(); String[] files = null; try { files = assetManager.list(""); } catch (IOException e) { Log.e("tag", "Failed to get asset file list.", e); } for(String filename : files) { InputStream in = null; OutputStream out = null; try { in = assetManager.open(filename); String outDir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/X/Y/Z/" ; File outFile = new File(outDir, filename); out = new FileOutputStream(outFile); copyFile(in, out); in.close(); in = null; out.flush(); out.close(); out = null; } catch(IOException e) { Log.e("tag", "Failed to copy asset file: " + filename, e); } } } private void copyFile(InputStream in, OutputStream out) throws IOException { byte[] buffer = new byte[1024]; int read; while((read = in.read(buffer)) != -1){ out.write(buffer, 0, read); } }