Có thể hiểu đây làm snippet tiện, nhanh, gọn để test khi bạn phát triển ứng dụng Android bằng Java:
Ghi toàn bộ file
InputStream fileInputStream = getResources().openRawResource(getResources().getIdentifier("sample_ocean_with_audio", "raw", getPackageName()));
try {
FileOutputStream outputStream = new FileOutputStream(Tool.getAppRootPath() + "/abc.mp4");
byte[] localBuffer = new byte[1024];
int bytesRead = 0;
while ((bytesRead = fileInputStream.read(localBuffer)) != -1) {
outputStream.write(localBuffer);
LogI("writing......");
}
} catch (IOException e) {
e.printStackTrace();
}
Ghi khoảng 1/2 kích thước file gốc
InputStream fileInputStream = getResources().openRawResource(getResources().getIdentifier("sample_ocean_with_audio", "raw", getPackageName()));
try {
int size = fileInputStream.available()/2;
FileOutputStream outputStream = new FileOutputStream(Tool.getAppRootPath() + "/abc.mp4");
byte[] localBuffer = new byte[1024];
int totalBytesRead = 0;
int bytesRead = 0;
while ((bytesRead = fileInputStream.read(localBuffer)) != -1) {
if (totalBytesRead >= size) {
LogI("exitttttttttttt");
break;
}
totalBytesRead += bytesRead;
outputStream.write(localBuffer);
LogI("writing......");
}
} catch (IOException e) {
e.printStackTrace();
}
Hàm getAppRootPath:
public static String getAppRootPath() {
PackageManager pM = getPackageManager();
String root_folder = getPackageName();
PackageInfo pI = null;
try {
pI = pM.getPackageInfo(root_folder, 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
root_folder = pI.applicationInfo.dataDir;
return root_folder;
}
Tham khảo thêm:
https://dotrinh.com/hieu-ve-cach-to-chuc-file-trong-android/
*Bài viết này sẽ được bổ sung thêm.
Các bài viết không xem thì tiếc:
- Hiểu về cách tổ chức file, bộ nhớ của app Android
- Siêu tổng hợp android code snippets (cập nhật thường xuyên)
- Copy mảng byte trong Java bằng Arrays.copyOfRange()
- Làm việc với font trong Android
- Cách dùng Eventbus để truyền dữ liệu trong Android
- How to rename project name in Xcode
- Các lệnh phải biết khi làm việc với Linux
- Little Endian Unsinged trong Java
- Cách dump data trong Ruby
- Khôi phục mật khẩu mysql linux
- Lập trình với Recyclerview trong Android – Bài 2 | dotrinh.com
- Cài đặt LAMP trên AWS EC2
- Lưu ý khi porting C/C++ sang Java
- Chuyển một đối tượng sang Json trong Android
- Lập trình với Recyclerview trong Android – Bài 3 | dotrinh.com