tôi đã tìm thấy điều này page cung cấp giải pháp thay thế hoạt động như một sự quyến rũ. Bạn chỉ cần thêm compile 'org.apache.commons:commons-compress:1.8'
vào tập lệnh bản dựng của bạn và sử dụng tính năng bạn muốn. Đối với vấn đề này tôi đã làm như sau:
AssetManager am = getAssets();
InputStream inputStream = null;
try {
inputStream = am.open("a7ZipedFile.7z");
File file1 = createFileFromInputStream(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
SevenZFile sevenZFile = null;
try{
File f = new File(this.getFilesDir(), "a7ZipedFile.7z");
OutputStream outputStream = new FileOutputStream(f);
byte buffer[] = new byte[1024];
int length = 0;
while((length=inputStream.read(buffer)) > 0) {
outputStream.write(buffer,0,length);
}
try {
sevenZFile = new SevenZFile(f);
SevenZArchiveEntry entry = sevenZFile.getNextEntry();
while (entry != null) {
System.out.println(entry.getName());
FileOutputStream out = openFileOutput(entry.getName(), Context.MODE_PRIVATE);
byte[] content = new byte[(int) entry.getSize()];
sevenZFile.read(content, 0, content.length);
out.write(content);
out.close();
entry = sevenZFile.getNextEntry();
}
sevenZFile.close();
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}catch (IOException e) {
//Logging exception
e.printStackTrace();
}
Chỉ vẽ lại khoảng 200k cho thư viện đã nhập. Khác hơn là nó thực sự dễ sử dụng.
Danh sách các hướng dẫn 7-Zip nằm ở cuối số this page. – gregS
Cảm ơn bạn đã trả lời, nhưng các liên kết trên trang 7zip khá cũ và không thể sử dụng được cho tôi. Tôi chia rẽ câu hỏi này thành câu hỏi khác: http://stackoverflow.com/questions/3469904/ – Wolkenjaeger
Bạn có thể muốn xem qua AndroXplorer v.3. Nó hỗ trợ nhiều định dạng tập tin bao gồm 7z. – Yongki