Name Date Size #Lines LOC

..--

maven/H25-Apr-2025-6743

src/H25-Apr-2025-14,2766,905

src9/H25-Apr-2025-133

.gitignoreH A D25-Apr-202521 43

Android.bpH A D25-Apr-20251.4 KiB5044

COPYINGH A D25-Apr-2025326 116

METADATAH A D25-Apr-2025837 2422

MODULE_LICENSE_PUBLIC_DOMAINHD25-Apr-20250

NEWSH A D25-Apr-20254.2 KiB12283

OWNERSH A D25-Apr-202546 21

READMEH A D25-Apr-20252.9 KiB8756

THANKSH A D25-Apr-2025306 2116

build.propertiesH A D25-Apr-20251.9 KiB6155

build.xmlH A D25-Apr-20257.9 KiB200154

fileset-misc.txtH A D25-Apr-2025151 1312

fileset-src.txtH A D25-Apr-20254.2 KiB110109

fileset-src9.txtH A D25-Apr-202522 21

README

1
2XZ for Java
3===========
4
5Introduction
6
7    This aims to be a complete implementation of XZ data compression
8    in pure Java. Features:
9      - Full support for the .xz file format specification version 1.0.4
10      - Single-threaded streamed compression and decompression
11      - Single-threaded decompression with limited random access support
12      - Raw streams (no .xz headers) for advanced users, including LZMA2
13        with preset dictionary
14
15    Threading is planned but it is unknown when it will be implemented.
16
17    For the latest source code, see the project home page:
18
19        https://tukaani.org/xz/java.html
20
21    The source code is compatible with Java 5 and later (except
22    module-info.java which is Java 9 or later). However, the default
23    build options require OpenJDK 11 or later, and create Java 7
24    compatible binaries.
25
26Building with Apache Ant
27
28    Type "ant" to compile the classes and create the .jar files.
29    Type "ant doc" to build the javadoc HTML documentation. Note
30    that building the documentation will download a small file named
31    "element-list" or "package-list" from Oracle to enable linking to
32    the documentation of the standard Java classes.
33
34    If you are using Ant older than 1.9.8:
35
36        Edit build.xml and remove the release attributes from <javac>
37        tags, that is, remove all occurrences of these two lines:
38
39            release="${sourcever}"
40
41            release="${sourcever9}"
42
43        The downside of the above is that then -source and -target
44        options will be used instead of --release.
45
46    If you are using OpenJDK version older than 11:
47
48        Adjust extdoc_url and extdoc_file to point to an older URL
49        and to use "package-list" instead of "element-list". This
50        modification isn't required if the documentation won't be
51        built.
52
53    If you are using OpenJDK version older than 9:
54
55        Comment the sourcever9 line in the file build.properties.
56        When it is commented, module-info.java won't be built and
57        xz.jar won't be a modular JAR.
58
59    If you are using OpenJDK version older than 7:
60
61        In build.properties, set "sourcever = 5" or "sourcever = 6"
62        to be compatible with Java 5 or 6.
63
64Building without Apache Ant
65
66    If you cannot or don't want to use Ant, just compile all .java files
67    under the "src" directory (possibly skip the demo files src/*.java).
68    For module support (Java >= 9) compile also src9/module-info.java.
69
70Demo programs
71
72    You can test compression with XZEncDemo, which compresses from
73    standard input to standard output:
74
75        java -jar build/jar/XZEncDemo.jar < foo.txt > foo.txt.xz
76
77    You can test decompression with XZDecDemo, which decompresses to
78    standard output:
79
80        java -jar build/jar/XZDecDemo.jar foo.txt.xz
81
82Reporting bugs
83
84    Report bugs to <[email protected]> or visit the IRC channel
85    #tukaani on Freenode and talk to Larhzu.
86
87