Tôi có một danh sách các tệp zip và rar trong một thư mục cục bộ.
Tất cả những gì tôi cần làm là trích xuất nội dung của tệp zip cũng như các tệp rar và lưu chúng trong một thư mục có cùng tên của tệp lưu trữ tương ứng.
Kể từ khi tôi mới đến as3, tôi không có đầu mối cho việc này.
Có thư viện nào không?
Cảm ơn trước ...Giải nén và lưu tệp bằng cách sử dụng as3?
Trả lời
Có một vài thư viện ra khỏi đó mà thỏa thuận với các tập tin ZIP trong AS3, nhưng hãy cẩn thận rằng đây là nhiệm vụ không dễ dàng cho người mới bắt đầu trong ActionScript 3.
dường như được sử dụng rộng rãi nhất, nhưng yêu cầu lưu trữ ZIP có tổng chi phí Adler32. Cung cấp với thư viện có một kịch bản Python mà tiêm checksum vào tập tin ZIP để tiền xử lý các tập tin trước khi giải nén chúng.
As3 port of JZlib, thư viện as3 để sử dụng với Fzip thay vì tập lệnh Python đã đề cập ở trên.
AS3 Zip Library (các bang tác giả đó là chậm hơn so với FZip) mà tránh được vấn đề Addler32 checksum.
Trên Adobe Air, bạn có thể xem giải thích chi tiết và ví dụ làm việc trong this article on the adobe website.
Hy vọng điều này sẽ hữu ích!
Đối với hồ sơ, kể từ Flash Player 10 (tức là, thời gian dài trước đây) FZip không * không * yêu cầu kiểm tra tiêm nữa. Nó chỉ hoạt động. –
Để giải nén tệp zip, bạn có thể sử dụng AS3Commons Zip (trước đây gọi là FZip). Nó hoạt động mà không cần yêu cầu tổng kiểm tra Adler32 được đề cập trong câu trả lời trước.
Dưới đây là ví dụ về cách trích xuất tất cả các tệp trong lưu trữ zip. Hàm dưới đây sẽ được gọi khi một đối tượng URLLoader
đã tải về các tập tin zip và cử một sự kiện Event.COMPLETE
:
import org.as3commons.zip.Zip;
import org.as3commons.zip.ZipFile;
private function _onZipDownloaded(e:Event):void {
var ba:ByteArray = ByteArray(e.target.data);
var zip:Zip = new Zip();
zip.loadBytes(ba);
for(var i:uint = 0; i < zip.getFileCount(); i++) {
var zipFile:ZipFile = zip.getFileAt(i);
var extracted:File = directory.resolvePath(zipFile.filename);
var fs:FileStream = new FileStream();
fs.open(extracted, FileMode.WRITE);
fs.writeBytes(zipFile.content);
fs.close();
}
}
Rõ ràng, kiểm tra lỗi nên được bổ sung vào mã ở trên nhưng bạn sẽ có được ý tưởng ...
Đây phải là câu trả lời được chấp nhận. –
- 1. Nén và giải nén các thư mục và tệp bằng cách sử dụng Java
- 2. Cách nén và giải nén tệp?
- 3. Tải lên tệp .zip lên FTP và giải nén tệp bằng cách sử dụng PHP
- 4. Nén và giải nén dữ liệu bằng cách sử dụng zlib trong Nodejs
- 5. Giải nén tập tin ISO bằng cách sử dụng Java
- 6. giải nén một tập tin bằng cách sử dụng C#
- 7. Giải nén tệp zip bằng zlib
- 8. Sử dụng SharpZipLib để giải nén các tệp cụ thể?
- 9. Giải nén tệp .gz bằng C#
- 10. Làm cách nào để giải nén tệp .gz bằng PHP?
- 11. giải nén tệp .gz bằng GZipStream
- 12. Cách đơn giản để giải nén tệp .zip bằng zlib
- 13. Làm cách nào để giải nén tệp bằng dòng lệnh?
- 14. Tạo tệp thực thi tự giải nén bằng cách sử dụng PHP
- 15. Cách giải nén tệp gzip và ghi tệp đó ra tệp không nén, trên iPhone
- 16. giải nén và tạo các tệp ipk
- 17. Cách sử dụng zip4j để giải nén tệp zip có bảo vệ bằng mật khẩu
- 18. Nén bằng Java Giải nén bằng PHP
- 19. Giải nén Lưu trữ với Groovy
- 20. nén và giải nén suối
- 21. Giải nén tập tin từ kho lưu trữ Zip bằng lập trình bằng C# và System.IO.Packaging
- 22. Giải nén tệp từ tệp ZIP bằng VBScript
- 23. Giải nén kho lưu trữ BZIP2
- 24. Preserve phép file khi giải nén và các tập tin Nén sử dụng kiến
- 25. GZipStream và giải nén
- 26. Nén tệp bằng javascript - tệp lưu trữ bị hỏng
- 27. Cách giải nén tệp zip C#
- 28. giải nén và đọc tệp gzip trong scala
- 29. Cách giải nén thư mục zip bằng cách sử dụng mã php
- 30. JavaScript: Giải nén/thổi phồng/giải nén/giải nén chuỗi
Bạn không thể thực hiện các thao tác tệp cục bộ mà không sử dụng AIR hoặc một cái gì đó giống như nó. Nếu bạn đang phát triển một ứng dụng cục bộ, lời khuyên của tôi đối với bạn là cố gắng viết những phần đó bằng một ngôn ngữ mạnh mẽ hơn như C++. Nhưng cũng có một cái gì đó như thế này http://codeazur.com.br/lab/fzip/ – HeyYO