example_01.bmx 950 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. SuperStrict
  2. Framework Archive.UU
  3. Import Archive.tar
  4. Import Archive.GZip
  5. Import brl.standardio
  6. Local wa:TWriteArchive = New TWriteArchive
  7. wa.AddFilter(EArchiveFilter.GZIP)
  8. wa.SetFormat(EArchiveFormat.Tar)
  9. wa.AddFilter(EArchiveFilter.UU)
  10. wa.SetCompressionLevel(9)
  11. wa.Open("data.tar.gz.uu")
  12. wa.AddEntry("testdata.txt", "files/testdata.txt")
  13. wa.AddEntry("테스트_데이터.txt", "files/테스트_데이터.txt")
  14. wa.AddEntry("", "empty", 0, 0, EArchiveFileType.Dir)
  15. wa.Close()
  16. Local entry:TArchiveEntry = New TArchiveEntry
  17. Local ra:TReadArchive = New TReadArchive
  18. ra.AddFilter(EArchiveFilter.GZIP)
  19. ra.SetFormat(EArchiveFormat.Tar)
  20. ra.AddFilter(EArchiveFilter.UU)
  21. ra.Open("data.tar.gz.uu")
  22. While ra.ReadNextHeader(entry) = ARCHIVE_OK
  23. Print "File : " + entry.Pathname()
  24. Print "Size : " + entry.Size()
  25. Local s:String = LoadText(ra.DataStream())
  26. Print "String size : " + s.Length
  27. Print "First n chars : " + s[0..17]
  28. Print
  29. Wend
  30. ra.Free()