summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luazip/doc/us/examples.html
blob: cc55405315a735d2b39059f92fea710eb65e9766 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <title>LuaZip: Reading files inside zip files</title>
    <link rel="stylesheet" href="http://www.keplerproject.org/doc.css" type="text/css"/>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>

<div id="container">
	
<div id="product">
	<div id="product_logo">
        <a href="http://www.keplerproject.org"><img alt="LuaZip logo" src="luazip-128.png"/></a>
    </div>
	<div id="product_name"><big><strong>LuaZip</strong></big></div>
	<div id="product_description">Reading files inside zip files</div>
</div> <!-- id="product" -->

<div id="main">
	
<div id="navigation">
<h1>LuaZip</h1>
	<ul>
		<li><a href="index.html">Home</a>
			<ul>
				<li><a href="index.html#overview">Overview</a></li>
				<li><a href="index.html#status">Status</a></li>
				<li><a href="index.html#download">Download</a></li>
				<li><a href="index.html#history">History</a></li>
				<li><a href="index.html#credits">Credits</a></li>
				<li><a href="index.html#contact">Contact</a></li>
			</ul>
		</li>
		<li><a href="manual.html">Manual</a>
			<ul>
				<li><a href="manual.html#introduction">Introduction</a></li>
				<li><a href="manual.html#installation">Installation</a></li>
				<li><a href="manual.html#reference">Reference</a></li>
			</ul>
		</li>
		<li><strong>Examples</strong></li>
        <li><a href="http://luaforge.net/projects/luazip/">Project</a>
            <ul>
                <li><a href="http://luaforge.net/tracker/?group_id=8">Bug Tracker</a></li>
                <li><a href="http://luaforge.net/scm/?group_id=8">CVS</a></li>
            </ul>
        </li>
		<li><a href="license.html">License</a></li>
	</ul>
</div> <!-- id="navigation" -->

<div id="content">


<h2><a name="examples"></a>Example</h2>

<p>
Suppose we have the following file hierarchy:
</p>

<pre class="example">
/a
    /b
        c.zip
/a2
    b2.ext2
/a3.ext3
/luazip.zip
</pre>

<ul>
<li>c.zip contains the file 'd.txt'</li>
<li>b2.ext2 is a zip file containing the file 'c2/d2.txt'</li>
<li>a3.ext3 is a zip file containing the file 'b3/c3/d3.txt'</li>
<li>luazip.zip contains the files 'luazip.h', 'luazip.c', 'Makefile', 'README'</li>
</ul>

Below is a small sample code displaying the basic use of the library.

<pre class="example">
require "zip"

local zfile, err = zip.open('luazip.zip')

-- print the filenames of the files inside the zip
for file in zfile:files() do
	print(file.filename)
end

-- open README and print it
local f1, err = zfile:open('README')
local s1 = f1:read("*a")
print(s1)

f1:close()
zfile:close()

-- open d.txt inside c.zip
local d, err = zip.openfile('a/b/c/d.txt')
assert(d, err)
d:close()

-- open d2.txt inside b2.ext2
local d2, err = zip.openfile('a2/b2/c2/d2.txt', "ext2")
assert(d2, err)
d2:close()

-- open d3.txt inside a3.ext3
local d3, err = zip.openfile('a3/b3/c3/d3.txt', {"ext2", "ext3"})
assert(d3, err)
d3:close()
</pre>

</div> <!-- id="content" -->

</div> <!-- id="main" -->

<div id="about">
	<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p>
	<p><small>
	$Id: examples.html,v 1.4 2006/03/23 20:45:21 carregal Exp $
	</small></p>
</div> <!-- id="about" -->

</div> <!-- id="container" -->

</body>
</html>