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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
|
<html>
<head>
<title>clojure.java.io - Clojure v1.2 API documentation</title>
<link href="static/favicon.png" rel="icon" />
<link href="static/favicon.png" rel="shortcut icon" />
<link media="all" type="text/css" href="static/clojure.css" rel="stylesheet" />
<link media="all" type="text/css" href="static/wiki.css" rel="stylesheet" />
<link media="all" type="text/css" href="static/internal.css" rel="stylesheet" />
<style>.menuWrapper{height: 36px;}</style>
<!--[if lte IE 6]>
<link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" />
<![endif]-->
</head>
<!--
This document was auto-generated from the source by the clojure autodoc system.
To report errors or ask questions about the overall documentation structure, formatting,
etc., contact Tom Faulhaber (google mail name: tomfaulhaber).
For errors in the documentation of a particular namespace, contact the author of that
namespace.
-->
<body>
<div id="AllContentContainer">
<div id="Header">
<a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="static/clojure-icon.gif" /></a>
<h1><a title="page header title" id="page-header" href="index.html">Clojure Core API Reference</a></h1>
</div>
<div id="leftcolumn"><div style="text-align: center;"></div>
<div class="menu">
<div class="WikiCustomNav WikiElement wiki">
<span class="toc-header"><span id="project-name">Clojure</span> <span id="version">v1.2</span> API</span><br />
<ul>
<li><a class="wiki_link" href="index.html">Overview</a></li>
<li><a class="wiki_link" href="api-index.html">API Index</a></li>
</ul>
<span class="toc-header">Namespaces</span>
<ul id="left-sidebar-list">
<li><a href="clojure.core-api.html" class="wiki_link">clojure.core</a></li><li><a href="clojure.inspector-api.html" class="wiki_link">clojure.inspector</a></li><li><a href="clojure.java.browse-api.html" class="wiki_link">clojure.java.browse</a></li><li><a href="clojure.java.io-api.html" class="wiki_link">clojure.java.io</a></li><li><a href="clojure.java.javadoc-api.html" class="wiki_link">clojure.java.javadoc</a></li><li><a href="clojure.java.shell-api.html" class="wiki_link">clojure.java.shell</a></li><li><a href="clojure.main-api.html" class="wiki_link">clojure.main</a></li><li><a href="clojure.pprint-api.html" class="wiki_link">clojure.pprint</a></li><li><a href="clojure.repl-api.html" class="wiki_link">clojure.repl</a></li><li><a href="clojure.set-api.html" class="wiki_link">clojure.set</a></li><li><a href="clojure.stacktrace-api.html" class="wiki_link">clojure.stacktrace</a></li><li><a href="clojure.string-api.html" class="wiki_link">clojure.string</a></li><li><a href="clojure.template-api.html" class="wiki_link">clojure.template</a></li><li><a href="clojure.test-api.html" class="wiki_link">clojure.test</a></li><li><a href="clojure.walk-api.html" class="wiki_link">clojure.walk</a></li><li><a href="clojure.xml-api.html" class="wiki_link">clojure.xml</a></li><li><a href="clojure.zip-api.html" class="wiki_link">clojure.zip</a></li>
</ul>
<div class="BranchTOC">
<span class="toc-header">Other Versions</span>
<ul id="left-sidebar-branch-list">
<li><a href="branch-master/index.html" class="wiki_link">v1.3 (in development)</a></li><li><a href="branch-1.1.x/index.html" class="wiki_link">v1.1 (stable)</a></li>
</ul>
</div>
<a href="http://clojure.org" class="wiki_link">Clojure Home</a>
</div>
</div>
</div>
<div id="rightcolumn">
<div id="Content">
<div class="contentBox"><div class="innerContentBox">
<div id="content_view" class="wiki wikiPage">
<div id="right-sidebar"><div id="toc">
<h1 class="nopad">Table of Contents</h1>
<div style="margin-left: 1em;" class="toc-section">
<a href="#toc0">Overview</a>
<div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/Coercions">Coercions</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/IOFactory">IOFactory</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/as-file">as-file</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/as-relative-path">as-relative-path</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/as-url">as-url</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/copy">copy</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/delete-file">delete-file</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/file">file</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/input-stream">input-stream</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/make-input-stream">make-input-stream</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/make-output-stream">make-output-stream</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/make-parents">make-parents</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/make-reader">make-reader</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/make-writer">make-writer</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/output-stream">output-stream</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/reader">reader</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/resource">resource</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.java.io/writer">writer</a>
</div>
<br />
</div>
</div>
</div>
<div id="content-tag"><h1 id="overview">API for <span id="namespace-name">clojure.java.io</span>
- <span id="header-project">Clojure</span> <span id="header-version">v1.2</span> (<span id="header-status">stable</span>)
</h1>
<span id="author-line">by <span id="author-name">Stuart Sierra, Chas Emerick, Stuart Halloway</span><br /></span>
<br />Full namespace name: <span id="long-name">clojure.java.io</span>
<p></p>
<h2>Overview</h2>
<pre id="namespace-docstr">This file defines polymorphic I/O utility functions for Clojure.</pre>
<br />
<h2>Public Variables and Functions</h2>
<div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/Coercions">Coercions</h2>
<span id="var-type">var</span><br />
<pre id="var-usage"></pre>
<pre id="var-docstr">Coerce between various 'resource-namish' things.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L34" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/IOFactory">IOFactory</h2>
<span id="var-type">var</span><br />
<pre id="var-usage"></pre>
<pre id="var-docstr">Factory functions that create ready-to-use, buffered versions of
the various Java I/O stream types, on top of anything that can
be unequivocally converted to the requested kind of stream.
Common options include
:append true to open stream in append mode
:encoding string name of encoding to use, e.g. "UTF-8".
Callers should generally prefer the higher level API provided by
reader, writer, input-stream, and output-stream.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L63" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/as-file">as-file</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (as-file x)
</pre>
<pre id="var-docstr">Coerce argument to a file.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/as-relative-path">as-relative-path</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (as-relative-path x)
</pre>
<pre id="var-docstr">Take an as-file-able thing and return a string if it is
a relative path, else IllegalArgumentException.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L385" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/as-url">as-url</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (as-url x)
</pre>
<pre id="var-docstr">Coerce argument to a URL.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/copy">copy</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (copy input output & opts)
</pre>
<pre id="var-docstr">Copies input to output. Returns nil or throws IOException.
Input may be an InputStream, Reader, File, byte[], or String.
Output may be an OutputStream, Writer, or File.
Options are key/value pairs and may be one of
:buffer-size buffer size to use, default is 1024.
:encoding encoding to use if converting between
byte and char streams.
Does not close any streams except those it opens itself
(on a File).</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L368" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/delete-file">delete-file</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (delete-file f & [silently])
</pre>
<pre id="var-docstr">Delete file f. Raise an exception if it fails unless silently is true.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L407" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/file">file</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (file arg)
(file parent child)
(file parent child & more)
</pre>
<pre id="var-docstr">Returns a java.io.File, passing each arg to as-file. Multiple-arg
versions treat the first argument as parent and subsequent args as
children relative to the parent.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L395" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/input-stream">input-stream</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (input-stream x & opts)
</pre>
<pre id="var-docstr">Attempts to coerce its argument into an open java.io.InputStream.
Default implementations always return a java.io.BufferedInputStream.
Default implementations are defined for OutputStream, File, URI, URL,
Socket, byte array, and String arguments.
If the argument is a String, it tries to resolve it first as a URI, then
as a local file name. URIs with a 'file' protocol are converted to
local file names.
Should be used inside with-open to ensure the InputStream is properly
closed.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L115" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/make-input-stream">make-input-stream</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (make-input-stream x opts)
</pre>
<pre id="var-docstr">Creates a BufferedInputStream. See also IOFactory docs.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/make-output-stream">make-output-stream</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (make-output-stream x opts)
</pre>
<pre id="var-docstr">Creates a BufferedOutputStream. See also IOFactory docs.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/make-parents">make-parents</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (make-parents f & more)
</pre>
<pre id="var-docstr">Given the same arg(s) as for file, creates all parent directories of
the file they represent.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L415" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/make-reader">make-reader</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (make-reader x opts)
</pre>
<pre id="var-docstr">Creates a BufferedReader. See also IOFactory docs.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/make-writer">make-writer</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (make-writer x opts)
</pre>
<pre id="var-docstr">Creates a BufferedWriter. See also IOFactory docs.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/output-stream">output-stream</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (output-stream x & opts)
</pre>
<pre id="var-docstr">Attempts to coerce its argument into an open java.io.OutputStream.
Default implementations always return a java.io.BufferedOutputStream.
Default implementations are defined for OutputStream, File, URI, URL,
Socket, and String arguments.
If the argument is a String, it tries to resolve it first as a URI, then
as a local file name. URIs with a 'file' protocol are converted to
local file names.
Should be used inside with-open to ensure the OutputStream is
properly closed.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L132" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/reader">reader</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (reader x & opts)
</pre>
<pre id="var-docstr">Attempts to coerce its argument into an open java.io.Reader.
Default implementations always return a java.io.BufferedReader.
Default implementations are provided for Reader, BufferedReader,
InputStream, File, URI, URL, Socket, byte arrays, character arrays,
and String.
If argument is a String, it tries to resolve it first as a URI, then
as a local file name. URIs with a 'file' protocol are converted to
local file names.
Should be used inside with-open to ensure the Reader is properly
closed.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L80" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/resource">resource</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (resource n)
(resource n loader)
</pre>
<pre id="var-docstr">Returns the URL for a named resource. Use the context class loader
if no loader is specified.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L422" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.java.io/writer">writer</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (writer x & opts)
</pre>
<pre id="var-docstr">Attempts to coerce its argument into an open java.io.Writer.
Default implementations always return a java.io.BufferedWriter.
Default implementations are provided for Writer, BufferedWriter,
OutputStream, File, URI, URL, Socket, and String.
If the argument is a String, it tries to resolve it first as a URI, then
as a local file name. URIs with a 'file' protocol are converted to
local file names.
Should be used inside with-open to ensure the Writer is properly
closed.</pre>
<span class="var-added"><span id="content">Added in Clojure version 1.2</span><br /></span>
<a href="https://github.com/clojure/clojure/blob/3a3374f714e5a755b7de2a761f37696f07a74e80/src/clj/clojure/java/io.clj#L98" id="var-source">Source</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="foot">
<div style="text-align: center;" id="copyright">Copyright 2007-2010 by Rich Hickey</div>
</div>
</div>
<div id="DesignedBy">Logo & site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br />
Clojure auto-documentation system by Tom Faulhaber.</div>
</div>
<!-- /AllContentContainer -->
</body>
</html>
|