diff options
Diffstat (limited to 'samples/src/jvmMain/kotlin')
-rw-r--r-- | samples/src/jvmMain/kotlin/okio/samples/BitmapEncoder.kt | 18 | ||||
-rw-r--r-- | samples/src/jvmMain/kotlin/okio/samples/ExploreCharsets.kt | 2 | ||||
-rw-r--r-- | samples/src/jvmMain/kotlin/okio/samples/GoldenValue.kt | 8 | ||||
-rw-r--r-- | samples/src/jvmMain/kotlin/okio/samples/Hashing.kt | 29 | ||||
-rw-r--r-- | samples/src/jvmMain/kotlin/okio/samples/ReadJavaIoFileLineByLine.kt (renamed from samples/src/jvmMain/kotlin/okio/samples/ReadFileLineByLine.kt) | 4 | ||||
-rw-r--r-- | samples/src/jvmMain/kotlin/okio/samples/SocksProxyServer.kt | 16 | ||||
-rw-r--r-- | samples/src/jvmMain/kotlin/okio/samples/WriteFile.kt | 13 | ||||
-rw-r--r-- | samples/src/jvmMain/kotlin/okio/samples/WriteJavaIoFile.kt | 37 |
8 files changed, 84 insertions, 43 deletions
diff --git a/samples/src/jvmMain/kotlin/okio/samples/BitmapEncoder.kt b/samples/src/jvmMain/kotlin/okio/samples/BitmapEncoder.kt index 86422832..e23b3261 100644 --- a/samples/src/jvmMain/kotlin/okio/samples/BitmapEncoder.kt +++ b/samples/src/jvmMain/kotlin/okio/samples/BitmapEncoder.kt @@ -15,16 +15,16 @@ */ package okio.samples -import okio.BufferedSink -import okio.buffer -import okio.sink -import java.io.File -import java.io.IOException import kotlin.math.hypot +import okio.BufferedSink +import okio.FileSystem +import okio.IOException +import okio.Path +import okio.Path.Companion.toPath class KotlinBitmapEncoder { class Bitmap( - private val pixels: Array<IntArray> + private val pixels: Array<IntArray>, ) { val width: Int = pixels[0].size val height: Int = pixels.size @@ -54,8 +54,8 @@ class KotlinBitmapEncoder { } @Throws(IOException::class) - fun encode(bitmap: Bitmap, file: File) { - file.sink().buffer().use { sink -> encode(bitmap, sink) } + fun encode(bitmap: Bitmap, fileSystem: FileSystem, path: Path) { + fileSystem.write(path) { encode(bitmap, this) } } /** https://en.wikipedia.org/wiki/BMP_file_format */ @@ -109,5 +109,5 @@ class KotlinBitmapEncoder { fun main() { val encoder = KotlinBitmapEncoder() val bitmap = encoder.generateGradient() - encoder.encode(bitmap, File("gradient.bmp")) + encoder.encode(bitmap, FileSystem.SYSTEM, "gradient.bmp".toPath()) } diff --git a/samples/src/jvmMain/kotlin/okio/samples/ExploreCharsets.kt b/samples/src/jvmMain/kotlin/okio/samples/ExploreCharsets.kt index 824a01ed..18744831 100644 --- a/samples/src/jvmMain/kotlin/okio/samples/ExploreCharsets.kt +++ b/samples/src/jvmMain/kotlin/okio/samples/ExploreCharsets.kt @@ -15,9 +15,9 @@ */ package okio.samples +import java.io.IOException import okio.ByteString.Companion.encodeUtf8 import okio.utf8Size -import java.io.IOException @Throws(IOException::class) fun dumpStringData(s: String) { diff --git a/samples/src/jvmMain/kotlin/okio/samples/GoldenValue.kt b/samples/src/jvmMain/kotlin/okio/samples/GoldenValue.kt index 2e86ff74..aeb5aeca 100644 --- a/samples/src/jvmMain/kotlin/okio/samples/GoldenValue.kt +++ b/samples/src/jvmMain/kotlin/okio/samples/GoldenValue.kt @@ -15,13 +15,13 @@ */ package okio.samples -import okio.Buffer -import okio.ByteString -import okio.ByteString.Companion.decodeBase64 import java.io.IOException import java.io.ObjectInputStream import java.io.ObjectOutputStream import java.io.Serializable +import okio.Buffer +import okio.ByteString +import okio.ByteString.Companion.decodeBase64 class KotlinGoldenValue { fun run() { @@ -60,7 +60,7 @@ class KotlinGoldenValue { private fun assertEquals( a: Point, - b: Point + b: Point, ) { if (a.x != b.x || a.y != b.y) throw AssertionError() } diff --git a/samples/src/jvmMain/kotlin/okio/samples/Hashing.kt b/samples/src/jvmMain/kotlin/okio/samples/Hashing.kt index 3169d4e1..1584d8b4 100644 --- a/samples/src/jvmMain/kotlin/okio/samples/Hashing.kt +++ b/samples/src/jvmMain/kotlin/okio/samples/Hashing.kt @@ -15,23 +15,24 @@ */ package okio.samples +import java.io.IOException import okio.Buffer import okio.ByteString import okio.ByteString.Companion.decodeHex +import okio.FileSystem import okio.HashingSink.Companion.sha256 import okio.HashingSource.Companion.sha256 +import okio.Path +import okio.Path.Companion.toPath import okio.blackholeSink import okio.buffer -import okio.source -import java.io.File -import java.io.IOException class KotlinHashing { fun run() { - val file = File("../README.md") + val path = "../README.md".toPath() println("ByteString") - val byteString = readByteString(file) + val byteString = readByteString(path) println(" md5: " + byteString.md5().hex()) println(" sha1: " + byteString.sha1().hex()) println(" sha256: " + byteString.sha256().hex()) @@ -39,7 +40,7 @@ class KotlinHashing { println() println("Buffer") - val buffer = readBuffer(file) + val buffer = readBuffer(path) println(" md5: " + buffer.md5().hex()) println(" sha1: " + buffer.sha1().hex()) println(" sha256: " + buffer.sha256().hex()) @@ -47,7 +48,7 @@ class KotlinHashing { println() println("HashingSource") - sha256(file.source()).use { hashingSource -> + sha256(FileSystem.SYSTEM.source(path)).use { hashingSource -> hashingSource.buffer().use { source -> source.readAll(blackholeSink()) println(" sha256: " + hashingSource.hash.hex()) @@ -58,7 +59,7 @@ class KotlinHashing { println("HashingSink") sha256(blackholeSink()).use { hashingSink -> hashingSink.buffer().use { sink -> - file.source().use { source -> + FileSystem.SYSTEM.source(path).use { source -> sink.writeAll(source) sink.close() // Emit anything buffered. println(" sha256: " + hashingSink.hash.hex()) @@ -74,14 +75,16 @@ class KotlinHashing { } @Throws(IOException::class) - fun readByteString(file: File): ByteString { - return file.source().buffer().use { it.readByteString() } + fun readByteString(path: Path): ByteString { + return FileSystem.SYSTEM.read(path) { readByteString() } } @Throws(IOException::class) - fun readBuffer(file: File): Buffer { - return file.source().use { source -> - Buffer().also { it.writeAll(source) } + fun readBuffer(path: Path): Buffer { + FileSystem.SYSTEM.read(path) { + val result = Buffer() + readAll(result) + return result } } } diff --git a/samples/src/jvmMain/kotlin/okio/samples/ReadFileLineByLine.kt b/samples/src/jvmMain/kotlin/okio/samples/ReadJavaIoFileLineByLine.kt index b3fa31ba..05cdd6d3 100644 --- a/samples/src/jvmMain/kotlin/okio/samples/ReadFileLineByLine.kt +++ b/samples/src/jvmMain/kotlin/okio/samples/ReadJavaIoFileLineByLine.kt @@ -15,10 +15,10 @@ */ package okio.samples -import okio.buffer -import okio.source import java.io.File import java.io.IOException +import okio.buffer +import okio.source @Throws(IOException::class) fun readLines(file: File) { diff --git a/samples/src/jvmMain/kotlin/okio/samples/SocksProxyServer.kt b/samples/src/jvmMain/kotlin/okio/samples/SocksProxyServer.kt index d3b786a1..f68811b9 100644 --- a/samples/src/jvmMain/kotlin/okio/samples/SocksProxyServer.kt +++ b/samples/src/jvmMain/kotlin/okio/samples/SocksProxyServer.kt @@ -15,13 +15,6 @@ */ package okio.samples -import okio.Buffer -import okio.BufferedSink -import okio.Sink -import okio.Source -import okio.buffer -import okio.sink -import okio.source import java.io.IOException import java.net.InetAddress import java.net.InetSocketAddress @@ -33,6 +26,13 @@ import java.net.URL import java.util.Collections import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.Executors +import okio.Buffer +import okio.BufferedSink +import okio.Sink +import okio.Source +import okio.buffer +import okio.sink +import okio.source private const val VERSION_5 = 5 private const val METHOD_NO_AUTHENTICATION_REQUIRED = 0 @@ -64,7 +64,7 @@ class KotlinSocksProxyServer { fun proxy(): Proxy = Proxy( Proxy.Type.SOCKS, - InetSocketAddress.createUnresolved("localhost", serverSocket.localPort) + InetSocketAddress.createUnresolved("localhost", serverSocket.localPort), ) private fun acceptSockets() { diff --git a/samples/src/jvmMain/kotlin/okio/samples/WriteFile.kt b/samples/src/jvmMain/kotlin/okio/samples/WriteFile.kt index 56726932..516e9f67 100644 --- a/samples/src/jvmMain/kotlin/okio/samples/WriteFile.kt +++ b/samples/src/jvmMain/kotlin/okio/samples/WriteFile.kt @@ -15,14 +15,15 @@ */ package okio.samples +import okio.FileSystem +import okio.IOException +import okio.Path +import okio.Path.Companion.toPath import okio.buffer -import okio.sink -import java.io.File -import java.io.IOException @Throws(IOException::class) -fun writeEnv(file: File) { - file.sink().buffer().use { sink -> +fun writeEnv(path: Path) { + FileSystem.SYSTEM.sink(path).buffer().use { sink -> for ((key, value) in System.getenv()) { sink.writeUtf8(key) sink.writeUtf8("=") @@ -33,5 +34,5 @@ fun writeEnv(file: File) { } fun main() { - writeEnv(File("env.txt")) + writeEnv("env.txt".toPath()) } diff --git a/samples/src/jvmMain/kotlin/okio/samples/WriteJavaIoFile.kt b/samples/src/jvmMain/kotlin/okio/samples/WriteJavaIoFile.kt new file mode 100644 index 00000000..9981462a --- /dev/null +++ b/samples/src/jvmMain/kotlin/okio/samples/WriteJavaIoFile.kt @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2018 Square, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package okio.samples + +import java.io.File +import java.io.IOException +import okio.buffer +import okio.sink + +@Throws(IOException::class) +fun writeEnv(file: File) { + file.sink().buffer().use { sink -> + for ((key, value) in System.getenv()) { + sink.writeUtf8(key) + sink.writeUtf8("=") + sink.writeUtf8(value) + sink.writeUtf8("\n") + } + } +} + +fun main() { + writeEnv(File("env.txt")) +} |