...
1
9
10 package xz_test
11
12 import (
13 "bytes"
14 "fmt"
15 "io"
16 "io/ioutil"
17 "log"
18 "os"
19 "path/filepath"
20
21 "github.com/xi2/xz"
22 )
23
24 func ExampleNewReader() {
25
26 data, err := ioutil.ReadFile(
27 filepath.Join("testdata", "xz-utils", "good-1-check-sha256.xz"))
28 if err != nil {
29 log.Fatal(err)
30 }
31
32 r, err := xz.NewReader(bytes.NewReader(data), 0)
33 if err != nil {
34 log.Fatal(err)
35 }
36
37 _, err = io.Copy(os.Stdout, r)
38 if err != nil {
39 log.Fatal(err)
40 }
41
42
43
44 }
45
46 func ExampleReader_Multistream() {
47
48 data, err := ioutil.ReadFile(
49 filepath.Join("testdata", "xz-utils", "good-1-check-sha256.xz"))
50 if err != nil {
51 log.Fatal(err)
52 }
53
54 mr := io.MultiReader(bytes.NewReader(data), bytes.NewReader(data))
55
56 r, err := xz.NewReader(mr, 0)
57 if err != nil {
58 log.Fatal(err)
59 }
60
61 r.Multistream(false)
62
63 _, err = io.Copy(os.Stdout, r)
64 if err != nil {
65 log.Fatal(err)
66 }
67 fmt.Println("Read first stream")
68
69 err = r.Reset(nil)
70 if err != nil {
71 log.Fatal(err)
72 }
73
74 r.Multistream(false)
75
76 _, err = io.Copy(os.Stdout, r)
77 if err != nil {
78 log.Fatal(err)
79 }
80 fmt.Println("Read second stream")
81
82 err = r.Reset(nil)
83
84 if err == io.EOF {
85 fmt.Println("No more streams")
86 }
87
88
89
90
91
92
93
94
95 }
96
View as plain text