android 中读取asset目录中文件并写入SD卡以及从SD卡中读取的简介
注意此步需要在AndroidManifest.xml 文件中加入权限代码:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
读取:
//1:权限 //2:流 存储 //图片 R.mipmap.xxx //网络 流 Bitmap:位图 //从assets中读 try { InputStream inputStream = SDActivity.this.getAssets().open("aaa.jpg"); //转化成 String 图片 //byte[] //缓冲 ByteArrayOutputStream baos = new ByteArrayOutputStream(); int len = 0; byte[] bytes = new byte[1024]; while ((len = inputStream.read(bytes)) != -1) { //缓冲 bytes:写多少 0 从哪开始写 len 内容 baos.write(bytes, 0, len); } mData = baos.toByteArray(); Toast.makeText(this, "" + mData.length, Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); } //Environment 环境 getExternalStorageDirectory 文件 根目录 getAbsolutePath 绝对路径 String //根目录 mFile = new File(mPath); if (!mFile.exists()) { mFile.mkdir();//创建文件夹 } //存 SD try { FileOutputStream fos = new FileOutputStream(new File(mFile, "aaa.jpg")); fos.write(mData, 0, mData.length); Toast.makeText(this, "存储成功", Toast.LENGTH_SHORT).show(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
读取SD中的内容:
路径下面的图片 try { FileInputStream fileInputStream = new FileInputStream(mPath + "/aaa.jpg"); int len = 0; byte[] bytes = new byte[1024]; ByteArrayOutputStream baos = new ByteArrayOutputStream(); while ((len =fileInputStream.read(bytes))!= -1) { baos.write(bytes, 0, len); } byte[] data = baos.toByteArray(); //byte[] Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); //位图 img_sd.setImageBitmap(bitmap); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
以上就是android中读取和写入Sd卡的内容,希望可以帮助到大家