public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Context context = this.getBaseContext(); CopyAssets(context,"Device","/sdcard/DeviceFile"); } public static void CopyAssets(Context context, String oldPath, String newPath) { try { String fileNames[] = context.getAssets().list(oldPath);// 获取assets目录下的所有文件及目录名 if (fileNames.length > 0) {// 如果是目录 File file = new File(newPath); file.mkdirs();// 如果文件夹不存在,则递归 for (String fileName : fileNames) { CopyAssets(context, oldPath + "/" + fileName, newPath + "/" + fileName); } } else {// 如果是文件 InputStream is = context.getAssets().open(oldPath); FileOutputStream fos = new FileOutputStream(new File(newPath)); byte[] buffer = new byte[1024]; int byteCount = 0; while ((byteCount = is.read(buffer)) != -1) {// 循环从输入流读取 fos.write(buffer, 0, byteCount);// 将读取的输入流写入到输出流 } fos.flush();// 刷新缓冲区 is.close(); fos.close(); } } catch (Exception e) { e.printStackTrace(); } } }
Android stdio 将assets文件夹资源 复制到 SD卡
最新推荐文章于 2024-04-30 11:04:29 发布