# Input

**URL:** <https://discuss.kotlinlang.org/t/input/1078>\
**Category:** Uncategorized\
**Created:** [September 21, 2012, 11:46am UTC](https://discuss.kotlinlang.org/t/input/1078 "2012-09-21T11:46:55Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Leiner](https://avatars.discourse-cdn.com/v4/letter/l/8baadc/32.png) [@Leiner](https://discuss.kotlinlang.org/u/Leiner)\
**Post date:** [September 21, 2012, 11:46am UTC](https://discuss.kotlinlang.org/t/input/1078/1 "2012-09-21T11:46:55Z")

</div>

Silly question: how can i read from standard input (not arguments line)? Thx, regards.

---

<div class="post-metadata">

**Author:** ![abreslav](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/abreslav/32/8279_2.png) [@abreslav](https://discuss.kotlinlang.org/u/abreslav)\
**Post date:** [September 21, 2012, 1:48pm UTC](https://discuss.kotlinlang.org/t/input/1078/2 "2012-09-21T13:48:44Z")

</div>

readLine():

[http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/kotlin/io/package-summary.html#readLine](http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/kotlin/io/package-summary.html#readLine)()

And, of course, System.in is still there for you.

---

<div class="post-metadata">

**Author:** ![goodwinnk](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/goodwinnk/32/1481_2.png) [@goodwinnk](https://discuss.kotlinlang.org/u/goodwinnk)\
**Post date:** [September 21, 2012, 2:01pm UTC](https://discuss.kotlinlang.org/t/input/1078/3 "2012-09-21T14:01:40Z")

</div>

Kotlin standard library contans [println](http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/kotlin/io/package-summary.html#println(jet.Any)) and [readLine](http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/kotlin/io/package-summary.html#readLine()) functions which could help in solving you task gracefully:

``

```kotlin
fun main(args: Array<String>) {
  println(“Line: ${readLine()}”) // Read line and print it back to console
}
```

In fact under the hood those functions are simple wrappers for [java.io](http://java.io), and as kotlin is compatible with Java you can also choose to implement same program like this:

``

```kotlin
import java.io.InputStreamReader
import java.io.BufferedReader
fun main(args: Array<String>) {
  val reader = BufferedReader(InputStreamReader(System.in))
  System.out.println(“Line: ${reader.readLine()!!}”)
}
```

---

<div class="post-metadata">

**Author:** ![Leiner](https://avatars.discourse-cdn.com/v4/letter/l/8baadc/32.png) [@Leiner](https://discuss.kotlinlang.org/u/Leiner)\
**Post date:** [September 21, 2012, 2:04pm UTC](https://discuss.kotlinlang.org/t/input/1078/4 "2012-09-21T14:04:58Z")

</div>

Ok. I've tried with readLine() but i got

"C:Program FilesJavajdk1.7.0binjava" -Didea.launcher.port=7533 -Didea.launcher.bin.path=D:intellijbin -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.7.0jrelibcharsets.jar;C:Program FilesJavajdk1.7.0jrelibdeploy.jar;C:Program FilesJavajdk1.7.0jrelibjavaws.jar;C:Program FilesJavajdk1.7.0jrelibjce.jar;C:Program FilesJavajdk1.7.0jrelibjsse.jar;C:Program FilesJavajdk1.7.0jrelibmanagement-agent.jar;C:Program FilesJavajdk1.7.0jrelibplugin.jar;C:Program FilesJavajdk1.7.0jrelibresources.jar;C:Program FilesJavajdk1.7.0jrelibrt.jar;C:Program FilesJavajdk1.7.0jrelibextdnsns.jar;C:Program FilesJavajdk1.7.0jrelibextlocaledata.jar;C:Program FilesJavajdk1.7.0jrelibextsunec.jar;C:Program FilesJavajdk1.7.0jrelibextsunjce\_provider.jar;C:Program FilesJavajdk1.7.0jrelibextsunmscapi.jar;C:Program FilesJavajdk1.7.0jrelibextzipfs.jar;D:untitledoutproductionuntitled;D:untitledlibkotlin-runtime.jar;D:intellijlibidea\_rt.jar" com.intellij.rt.execution.application.AppMain namespace Exception in thread "main" java.lang.IllegalAccessError: tried to access field kotlin.io.namespace.stdin from class kotlin.io.namespace$src$1 at kotlin.io.namespace$src$1.readLine(JIO.kt:144) at kotlin.io.namespace.readLine(Files.kt) at namespace.main(a1.kt:2) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

reading further i saw there was a similar issue marked as a bug.... so i was looking for alternatives.

tk u.

---

<div class="post-metadata">

**Author:** ![Leiner](https://avatars.discourse-cdn.com/v4/letter/l/8baadc/32.png) [@Leiner](https://discuss.kotlinlang.org/u/Leiner)\
**Post date:** [September 21, 2012, 2:19pm UTC](https://discuss.kotlinlang.org/t/input/1078/5 "2012-09-21T14:19:05Z")

</div>

Thx, this way (that is using java.io without wrapping it) has no problems and works fine.

---

<div class="post-metadata">

**Author:** ![ulaila2002](https://avatars.discourse-cdn.com/v4/letter/u/eada6e/32.png) [@ulaila2002](https://discuss.kotlinlang.org/u/ulaila2002)\
**Post date:** [June 21, 2017, 7:52am UTC](https://discuss.kotlinlang.org/t/input/1078/6 "2017-06-21T07:52:10Z")

</div>

we can take input in Kotlin via Scanner Class of Java:slightly\_smiling\_face: ![](https://us1.discourse-cdn.com/flex019/uploads/kotlinlang/original/2X/b/ba1490459ce2d2507ef6484eb388ace2ef3dabfd.png)

```kotlin
import java.util.Scanner;

fun main(args: Array<String){
    var value =Scanner(System.`in`);
    println("Enter name")

    val data =value.next()
        println("$data")
}

```
