谁能告诉我read()和readline()之间有什么区别;?

时间:2016-09-18 07:56:15

标签: java

package com.learn.java;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BufferReaderInput {

    public static void main(String[] args) throws IOException {
        BufferedReader bufferreaderIn = new BufferedReader(
                new InputStreamReader(System.in));
        System.out.println("Enter your Name");
        String Name = bufferreaderIn.readLine();

        System.out.println("Enter your age");
        int age = Integer.parseInt(bufferreaderIn.readLine());

        System.out.println("Enter your salary");
        int sal = bufferreaderIn.read();

        System.out.println("Hi, I'm " + Name + " my age is " + age
                + " and my salary is " + sal);
    }

}

当我使用obj.read();输入薪水时,它没有给出正确的输出。

有人可以告诉我read()readline()之间有什么区别吗?

2 个答案:

答案 0 :(得分:3)

BufferedReader的{​​{3}}开始,我们为documentation提供此信息:

  

读取单个字符。

这适用于read

  

读取一行文字。一条线被认为是换行(' \ n'),回车(' \ r')或回车后紧接着换行符中的任何一条终止

因此,将行被认为终止时的细节分开,不同之处在于第一个读取单个字符而第二个读取整行。

答案 1 :(得分:2)

readLine()读取行,直至看到\n\r\r\n,而read()读取一个字符。