E/S do console no Kotlin

E / S do console no Kotlin

1. Introdução

Quando aprendemos uma nova linguagem de programação, é comum começar com o console de E / S. Neste tutorial, vamos explorar algumas alternativas para lidar com E / S de console com Kotlin.

2. Usando a biblioteca padrão Kotlin

The Kotlin standard library nos fornece extensões para lidar com E / S com base no suporte integrado do JDK.

Para imprimir no console, podemos usar a funçãoprint. Se executarmos o seguinte trecho:

print("Hello from Kotlin")

Veremos a seguinte mensagem exibida em nosso terminal:

Hello from Kotlin

Nos bastidores, esta função usa o métodoSystem.out.print de Java. Além disso, a biblioteca oferece a função alternativaprintln, que adiciona o separador de linha no final da mensagem.

Para ler do console, podemos usar a funçãoreadLine:

val inputText = readLine()

Curiosamente,this isn’t a synonym for Scanner.readLine like print is for System.out.print. Vamos ver agora ondeScanner entra, no entanto.

3. Usando a Biblioteca Java Standard

O Kotlin possui grande interoperabilidade com Java. Portanto, podemos usar as classes de E / S padrão do JDK em nossos programas, caso precisemos delas.

Vamos explorar alguns deles aqui.

3.1. Usando a classeScanner

Usar a classeScanner é muito simples; precisamos apenas criar uma instância e usar o métodonextLine:

val scanner = Scanner(System.`in`)
val readText = scanner.nextLine()

Observe que estamos escapando da propriedadein com crases porque é uma palavra-chave em Kotlin.

3.2. Usando a classeBufferedReader

Para usar a classeBufferedReader para ler o fluxo de entrada padrão, primeiro precisamos instanciá-la comSystem.in:

val reader = BufferedReader(InputStreamReader(System.`in`))

E então podemos usar seus métodos - por exemplo,readLine():

val readText = reader.readLine()

3.3. Usando a classeConsole

Ao contrário das duas classes anteriores, a classeConsole tem métodos adicionais para lidar com E / S de console, comoreadPasswordeprintf.

Para usar a classeConsole, precisamos obter uma instância da classeSystem:

val console = System.console()

Agora, podemos usar seu métodoreadLine(), entre outros:

val readText = console.readLine()

4. Conclusão

Neste tutorial, vimos uma introdução ao tratamento de E / S com o Kotlin e como usar as classes equivalentes do JDK. Para obter mais detalhes sobre essas classes JDK, certifique-se de verificar nossotutorial on Scanner, BufferedReader, and Console.

Além disso, graças à interoperabilidade do Kotlin com Java, podemos usar bibliotecas Java adicionais para lidar com E / S.

Como de costume, todos os exemplos de código mostrados neste artigo estão disponíveis emGitHub.