KorIO
KorIO is a library for Charsets, Encodings, Checksums, Compression, I/O, Streams, Virtual File System, Networking, Http, WebSockets, Serializationβ¦
https://github.com/korlibs/korio
Table of contents:
Pages
- File System - PathInfo, VfsFile, Vfs, IsoVfs, JailVfs, LocalVfs, LogVfs, MemoryVfs, MergedVfs, MountableVfs, NodeVfs, UrlVfs, ZipVfs
- Sync Streams - SyncInputStream, SyncOutputStream, SyncStream, FastByteArrayInputStream...
- Async Streams - AsyncInputStream, AsyncOutputStream, AsyncStream...
- Async Tools - Signals, Once, Atomic, ThreadLocal, AsyncCache, AsyncCloseable, AsyncByteArrayDeque, delay with Klock TimeSpan, runBlockingNoSuspensions...
- Charset - Convert ByteArray from/to String with Charsets: LATIN1, UTF8, UTF16...
- Encoding - Escaping, Quoting, Base64, Hex, CType...
- Compression - Compression (zlib, deflate, lzma, zip) and checksum tools (adler32, crc32)
- Environment - Getting Environment variables, Properties, Operating System, user Language...
- Language Tools - Reflection utilities, Delegates, KDynamic (dynamic access), Array Tools...
- Serialization - JSON, YAML, XML and Properties serialization
- Network - TCP sockets, HTTP and WebSocket client and server, URL, QueryString, MimeType utils...
- String Utils - UUID, Indenter, StrReader, Number parsing and stringifying tools, String extensions
Using with gradle
Requires Gradle 7.1.1
(JVM 8~13
) for building and Kotlin >=1.5.20
for running:
build.gradle.kts
val korioVersion = "2.2.0"
// For multiplatform projects
kotlin {
sourceSets {
commonMain {
dependencies {
implementation("com.soywiz.korlibs.korio:korio:$korioVersion")
}
}
}
}
dependencies {
// For JVM only
implementation("com.soywiz.korlibs.korio:korio-jvm:$korioVersion")
// For Android only
implementation("com.soywiz.korlibs.korio:korio-android:$korioVersion")
// For JS only
implementation("com.soywiz.korlibs.korio:korio-js:$korioVersion")
}