byte-streams
conversion-cost
(conversion-cost x dst)Returns the estimated cost of converting the data x to the destination type dst.
convert
(convert x dst)(convert x dst options)Converts x, if possible, into type dst, which can be either a class or protocol. If no such conversion is possible, an IllegalArgumentException is thrown. If x is a stream, then the src type must be explicitly specified.
options is a map, whose available settings depend on what sort of transform is being performed:
chunk-size - if a stream is being transformed into a sequence of discrete chunks, :chunk-size describes the size of the chunks, which default to 4096 bytes.
encoding - if a string is being encoded or decoded, :encoding describes the charset that is used, which defaults to ‘UTF-8’
direct? - if a byte-buffer is being allocated, :direct? describes whether it should be a direct buffer, defaulting to false
def-conversion
macro
(def-conversion [src dst :as conversion] params & body)Defines a conversion from one type to another.
def-transfer
macro
(def-transfer [src dst] params & body)Defines a byte transfer from one type to another.
optimized-transfer?
(optimized-transfer? type-descriptor sink-type)Returns true if an optimized transfer function exists for the given source and sink objects.
possible-conversions
(possible-conversions src)Returns a list of all possible conversion targets from value.
print-bytes
(print-bytes bytes)Prints out the bytes in both hex and ASCII representations, 16 bytes per line.
to-byte-array
(to-byte-array x)(to-byte-array x options)Converts the object to a byte-array.
to-byte-arrays
(to-byte-arrays x)(to-byte-arrays x options)Converts the object to a byte-array.
to-byte-buffer
(to-byte-buffer x)(to-byte-buffer x options)Converts the object to a java.nio.ByteBuffer.
to-byte-buffers
(to-byte-buffers x)(to-byte-buffers x options)Converts the object to a sequence of java.nio.ByteBuffer.
to-byte-sink
(to-byte-sink x)(to-byte-sink x options)Converts the object to something that satisfies ByteSink.
to-byte-source
(to-byte-source x)(to-byte-source x options)Converts the object to something that satisfies ByteSource.
to-char-sequence
(to-char-sequence x)(to-char-sequence x options)Converts to the object to a java.lang.CharSequence.
to-input-stream
(to-input-stream x)(to-input-stream x options)Converts the object to a java.io.InputStream.
to-line-seq
(to-line-seq x)(to-line-seq x options)Converts the object to a lazy sequence of newline-delimited strings.
to-output-stream
(to-output-stream x)(to-output-stream x options)Converts the object to a java.io.OutputStream.
to-readable-channel
(to-readable-channel x)(to-readable-channel x options)Converts the object to a java.nio.ReadableByteChannel
transfer
(transfer source sink)(transfer source sink options)(transfer source source-type sink options)Transfers, if possible, all bytes from source into sink. If this cannot be accomplished, an IllegalArgumentException is thrown.
options is a map whose available settings depends on the source and sink types:
chunk-size - if a stream is being transformed into a sequence of discrete chunks, :chunk-size describes the size of the chunks, which default to 4096 bytes.
encoding - if a string is being encoded or decoded, :encoding describes the charset that is used, which defaults to ‘UTF-8’
append? - if a file is being written to, :append? determines whether the bytes will overwrite the existing content or be appended to the end of the file. This defaults to true.
close? - whether the sink should be closed once the transfer is done, defaults to true.
type-descriptor
(type-descriptor x)Returns a descriptor of the type of the given instance.