KotlinのコンソールI / O

1. 前書き

新しいプログラミング言語を学ぶとき、コンソールI / Oから始めるのが一般的です。 このチュートリアルでは、KotlinでコンソールI / Oを処理するためのいくつかの代替方法を検討します。

2. Kotlin標準ライブラリの使用

https://kotlinlang.org/api/latest/jvm/stdlib/index.html[Kotlin標準ライブラリ]は、JDKの組み込みサポートに基づいてI / Oを処理するための拡張機能を提供します。
コンソールに印刷するには、_print_関数を使用できます。 次のスニペットを実行する場合:
print("Hello from Kotlin")
端末に次のメッセージが表示されます。
Hello from Kotlin
舞台裏では、この関数はJavaの_System.out.print_メソッドを使用します。 また、ライブラリは、メッセージの最後に行区切り文字を追加する_println_代替関数を提供します。
コンソールから読み取るには、_readLine_関数を使用できます。
val inputText = readLine()
興味深いことに、*これは_Scanner.readLine_の同義語ではありません_print_は_System.out.print_のようなものです。

3. Java標準ライブラリの使用

KotlinはJavaとの優れた相互運用性を備えています。 したがって、必要に応じて、プログラムでJDKの標準I / Oクラスを使用できます。
それらのいくつかをここで探検しましょう。

* 3.1。 _Scanner_クラスの使用*

link:/java-scanner[_Scanner_]クラスの使用は非常に簡単です。インスタンスを作成し、_nextLine_メソッドを使用するだけです。
val scanner = Scanner(System.`in`)
val readText = scanner.nextLine()
_in_プロパティはKotlinのキーワードであるため、バックティックでエスケープしていることに注意してください。

* 3.2。 _BufferedReader_クラスの使用*

link:/java-buffered-reader[_BufferedReader_]クラスを使用して標準入力ストリームから読み取るには、最初に_System.in_でインスタンス化する必要があります。
val reader = BufferedReader(InputStreamReader(System.`in`))
そして、そのメソッドを使用できます—例えば、_readLine()_:
val readText = reader.readLine()

* 3.3。 _Console_クラスの使用*

以前の2つのクラスとは異なり、https://www.baeldung.com/java-console-input-output [_Console_]クラスには、_readPassword_や_printf_などのコンソールI / Oを処理するための追加のメソッドがあります。
_Console_クラスを使用するには、_System_クラスからインスタンスを取得する必要があります。
val console = System.console()
これで、とりわけ_readLine()_メソッドを使用できます。
val readText = console.readLine()

4. 結論

このチュートリアルでは、KotlinでのI / O処理の概要と、JDKの同等のクラスの使用方法を見ました。 これらのJDKクラスの詳細については、https://www.baeldung.com/bufferedreader-vs-console-vs-scanner-in-java [_Scanner _、_ BufferedReader_、および_Console_のチュートリアル]を確認してください。
また、KotlinのJavaとの相互運用性のおかげで、追加のJavaライブラリを使用してI / Oを処理できます。
通常どおり、この記事に示されているすべてのコードサンプルは、https://github.com/eugenp/tutorials/tree/master/core-kotlin-io [GitHub]で入手できます。