ClojureDocs

Namespaces

clojure.java.io

This file defines polymorphic I/O utility functions for Clojure.
Vars in clojure.java.io

a

as-file
Coerce argument to a file.
as-relative-path
Take an as-file-able thing and return a string if it is a relative path, else IllegalArgumentException.
as-url
Coerce argument to a URL.

c

Coercions
Coerce between various 'resource-namish' things.
copy
Copies input to output. Returns nil or throws IOException. Input may be an InputStream, Reader, File, byte[], char[], 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).

d

delete-file
Delete file f. If silently is nil or false, raise an exception on failure, else return the value of silently.

f

file
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.

i

input-stream
Attempts to coerce its argument into an open java.io.InputStream. Default implementations always return a java.io.BufferedInputStream. Default implementations are defined for InputStream, 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.
IOFactory
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.

m

make-input-stream
Creates a BufferedInputStream. See also IOFactory docs.
make-output-stream
Creates a BufferedOutputStream. See also IOFactory docs.
make-parents
Given the same arg(s) as for file, creates all parent directories of the file they represent.
make-reader
Creates a BufferedReader. See also IOFactory docs.
make-writer
Creates a BufferedWriter. See also IOFactory docs.

o

output-stream
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.

r

reader
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.
resource
Returns the URL for a named resource. Use the context class loader if no loader is specified.

w

writer
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.