KotlinのコンソールI/O
1. 序章
新しいプログラミング言語を学ぶときは、コンソールI/Oから始めるのが一般的です。 このチュートリアルでは、KotlinでコンソールI/Oを処理するためのいくつかの代替案について説明します。
2. Kotlin標準ライブラリの使用
Kotlin標準ライブラリは、JDKの組み込みサポートに基づいてI/Oを処理するための拡張機能を提供します。
コンソールに印刷するには、印刷機能を使用できます。 次のスニペットを実行すると、次のようになります。
print("Hello from Kotlin")
端末に次のメッセージが表示されます。
Hello from Kotlin
舞台裏では、この関数はJavaのSystem.out.printメソッドを使用します。 また、ライブラリは、メッセージの最後に行区切り文字を追加するprintln代替関数を提供します。
コンソールから読み取るために、readLine関数を使用できます。
val inputText = readLine()
興味深いことに、
3. Java標準ライブラリの使用
KotlinはJavaとの優れた相互運用性を備えています。 したがって、必要に応じて、プログラムでJDKの標準I/Oクラスを使用できます。
ここでそれらのいくつかを調べてみましょう。
3.1. スキャナークラスの使用
Scannerクラスの使用は非常に簡単です。 インスタンスを作成し、nextLineメソッドを使用するだけです。
val scanner = Scanner(System.`in`)
val readText = scanner.nextLine()
in プロパティはKotlinのキーワードであるため、バッククォートを使用してエスケープしていることに注意してください。
3.2. BufferedReaderクラスの使用
BufferedReader クラスを使用して標準の入力ストリームから読み取るには、最初にSystem.inでインスタンス化する必要があります。
val reader = BufferedReader(InputStreamReader(System.`in`))
次に、そのメソッドを使用できます。たとえば、 readLine():
val readText = reader.readLine()
3.3. コンソールクラスの使用
前の2つのクラスとは異なり、 Console クラスには、readPasswordやprintfなど、コンソールI/Oを処理するための追加のメソッドがあります。
Console クラスを使用するには、Systemクラスからインスタンスを取得する必要があります。
val console = System.console()
これで、特に readLine()メソッドを使用できます。
val readText = console.readLine()
4. 結論
このチュートリアルでは、KotlinでのI / Oの処理の概要と、JDKの同等のクラスの使用方法を説明しました。 これらのJDKクラスの詳細については、Scanner、BufferedReader、およびConsoleに関するチュートリアルを確認してください。
また、KotlinのJavaとの相互運用性のおかげで、I/Oを処理するために追加のJavaライブラリを使用できます。
いつものように、この記事に示されているすべてのコードサンプルは、GitHubから入手できます。