Java Android 二进制文件读写

Java Android 二进制文件读写

1.读取android工程中本地二进制文件

Android studio工程目录中有二进制文件abcd.raw 。
二进制文件所放目录 app/src/main/assets/abcd.raw

1.1一次性读取二进制文件

   private byte[] readLocalFile() throws IOException {        String fileName = "abcd.raw";        InputStream inputStream = getAssets().open(fileName);        byte[] data = toByteArray(inputStream);        inputStream.close();        return data;    }    private byte[] toByteArray(InputStream in) throws IOException {        ByteArrayOutputStream out = new ByteArrayOutputStream();        byte[] buffer = new byte[1024 * 4];        int n = 0;        while ((n = in.read(buffer)) != -1) {            out.write(buffer, 0, n);        }        return out.toByteArray();    }

1.2 分段读取二进制文件,一次读取1024个字节

    byte[] buffer = new byte[1024];    private void readLocalFile() throws IOException {        String fileName = "abcd.raw";        InputStream inputStream = getAssets().open(fileName);        int n = -1;        while ((n = inputStream.read(buffer,0,1024)) != -1) {            //buffer为读出来的二进制数据,长度1024,最后一段数据小于1024        }        inputStream.close();    }

2.分段读取手机目录中本地二进制文件

手机目录中有二进制文件abcd.raw 。
二进制文件所在手机目录 /sdcard/abcd.raw

   private void readLocalFile() {        FileInputStream inputStream = null;        File file = new File("/sdcard/abcd.raw");        try {            inputStream = new FileInputStream(file);            byte buffer[] = new byte[1024];            int len = 0;            while ((len = inputStream.read(buffer,0,buffer.length))>0) {                //buffer为读出来的二进制数据,长度1024,最后一段数据小于1024            }        } catch (IOException e) {            e.printStackTrace();        } finally {            if (inputStream!=null) {                try {                    inputStream.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }

3.写入手机目录二进制文件

写入到手机目录中有二进制文件/sdcard/aaa.raw 。

 FileOutputStream fos = null;    private void openPCMfile(byte[] bytes) {        File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator+ "aaa.raw");        if (!f.exists()) {            File parentFile = f.getParentFile();            if (!parentFile.exists()) {                parentFile.mkdirs();            }            try {                f.createNewFile();            } catch (IOException e) {                e.printStackTrace();            }        }        try {            fos = new FileOutputStream(f);            fos.write(bytes, 0, bytes.length);            fos.flush();            fos.close();        } catch (Exception e) {            e.printStackTrace();        }    }    ```

更多相关文章

  1. 微信内置浏览器UserAgent获取
  2. android手机通过USB共享电脑网络
  3. Android中常用的List滚动列表操作
  4. Android(安卓)拍照后保存到手机里,在相册找不到
  5. 四极管: Android开发调试I2C设备驱动 i2cdetect 工具的使用
  6. android输入框EditText输入银行卡,输入手机,输入身份证格式化的
  7. Android(安卓)Studio 手机运行时中文乱码
  8. android adb命令打印logcat日志 到指定目录
  9. Android打包编译流程

随机推荐

  1. API Demos 2.2 研读笔记(3)——Custom Dial
  2. Android Studio1.5 配置Android annotati
  3. Android 单独控件实现不同字体大小、不同
  4. 移动开发:Android 错误警告信息解释
  5. 【Android】ant编译aidl的错误
  6. 实现Android屏幕控制Androidscreencast应
  7. android源代码在线查看
  8. Android画图学习总结
  9. (推荐)Android最全开发资源(转)
  10. 布局与样式