java读取安卓本地文件_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();
}
}
總結
以上是生活随笔為你收集整理的java读取安卓本地文件_Java Android 二进制文件读写的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 吸金149亿!《阿凡达:水之道》进入影史
- 下一篇: 《塞尔达传说:王国之泪》预购火爆,法国预
