Not currently logged in. Login now.

Libraries for Category 'IO'

General
fsFile system utilities
clj-avroBasic wrapper for avro. Apache Avro is a data serialization system.
clj-file-utilsUnix-like filesystem manipulation utilities for Clojure, wrapping Apache Commons IO.
ClodiunoClodiuno is a library that allows you to control Arduino using Clojure allowing Clojure developers to interface with real world using Arduino hardware.
serial-portA simple library for serial port communication with Clojure. Although serial communciation may be considered old tech, it's useful for a communicating with a plethora of devices including exciting new hardware such as the Monome and the Arduino.
conchConch is a simple but very flexible Clojure library for shelling out to external programs. It is to be used as an alternative to working directly with the java.lang.Process API and as a more flexible alternative to clojure.java.shell.
bytebufferLibrary for packing and unpacking binary data. Simplifies working with java.nio.ByteBuffer objects.

Handles signed and unsigned values pleasantly. Usually reading or writing unsigned fields with ByteBuffers is a pain because Java doesn't have unsigned primitives. The unsigned take-* functions here actually return a type that is one step larger than the requested type, ex. take-ushort returns an int, and take-uint returns a bigint.
nioClojure support for java.nio.

Extends clojure.java.io’s input-stream, output-stream, and copy functions to java.nio classes.
Formats
byte-specA declarative DSL for reading and writing binary file formats in Clojure
GlossGloss is a byte-format DSL. It can turn complicated byte formats into Clojure data structures, allowing for easy use of custom network protocols and C libraries. It can also turn Clojure data structures into compact byte representations, allowing for efficient use of bandwidth and disk.
MarshalLibrary to marshal C style data structures. For use with legacy TCP socket communication protocols and file formats (e.g. dbf file) . Marshaling to/from clojure data structures: maps, vectors, lists, numbers, booleans, and strings using OutputStream and InputStream interfaces. Marshal big or little endian (default is little endian).