KorIO

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

Star

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"

repositories {
    maven { url("https://dl.bintray.com/korlibs/korlibs") }
    jcenter()
}

// 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") 
}