https://blog.csdn.net/u012734708/article/details/88354539
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();
}
}
以上是内存溢出为你收集整理的Java Android 二进制文件读写全部内容,希望文章能够帮你解决Java Android 二进制文件读写所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)