API for clojure.java.io - Clojure v1.13.0 (in development)

by Stuart Sierra, Chas Emerick, Stuart Halloway

Full namespace name: clojure.java.io

Overview

This file defines polymorphic I/O utility functions for Clojure.

Protocols



Coercions

Protocol
Coerce between various 'resource-namish' things.
Known implementations: java.io.File, java.lang.String, java.net.URI, java.net.URL, nil

as-file

function
Usage: (as-file x)
Coerce argument to a file.

      Added in Clojure version 1.2

as-url

function
Usage: (as-url x)
Coerce argument to a URL.

      Added in Clojure version 1.2
Added in Clojure version 1.2
Source


IOFactory

Protocol
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.
Known implementations: array-of-bytes, array-of-characters, java.io.BufferedInputStream, java.io.BufferedOutputStream, java.io.BufferedReader, java.io.BufferedWriter, java.io.File, java.io.InputStream, java.io.OutputStream, java.io.Reader, java.io.Writer, java.lang.String, java.net.Socket, java.net.URI, java.net.URL, nil, Object

make-input-stream

function
Usage: (make-input-stream x opts)
Creates a BufferedInputStream. See also IOFactory docs.

      Added in Clojure version 1.2

make-output-stream

function
Usage: (make-output-stream x opts)
Creates a BufferedOutputStream. See also IOFactory docs.

      Added in Clojure version 1.2

make-reader

function
Usage: (make-reader x opts)
Creates a BufferedReader. See also IOFactory docs.

      Added in Clojure version 1.2

make-writer

function
Usage: (make-writer x opts)
Creates a BufferedWriter. See also IOFactory docs.

      Added in Clojure version 1.2
Added in Clojure version 1.2
Source

Public Variables and Functions



as-relative-path

function
Usage: (as-relative-path x)
Take an as-file-able thing and return a string if it is
a relative path, else IllegalArgumentException.

    Added in Clojure version 1.2
Source


copy

function
Usage: (copy input output & opts)
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).

    Added in Clojure version 1.2
Source


delete-file

function
Usage: (delete-file f & [silently])
Delete file f. If silently is nil or false, raise an exception on failure, else return the value of silently.

    Added in Clojure version 1.2
Source


file

function
Usage: (file arg)
       (file parent child)
       (file parent child & more)
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.

    Added in Clojure version 1.2
Source


input-stream

function
Usage: (input-stream x & opts)
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.

    Added in Clojure version 1.2
Source


make-parents

function
Usage: (make-parents f & more)
Given the same arg(s) as for file, creates all parent directories of
the file they represent.

    Added in Clojure version 1.2
Source


output-stream

function
Usage: (output-stream x & opts)
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.

    Added in Clojure version 1.2
Source


reader

function
Usage: (reader x & opts)
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.

    Added in Clojure version 1.2
Source


resource

function
Usage: (resource n)
       (resource n loader)
Returns the URL for a named resource. Use the context class loader
if no loader is specified.

    Added in Clojure version 1.2
Source


writer

function
Usage: (writer x & opts)
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.

    Added in Clojure version 1.2
Source
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy