kotlin-console-io
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]で入手できます。