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.