java 使用 System.in.read(buffer, 0, 255) 时找不到符号错误

java error cannot find symbol when using System.in.read(buffer, 0, 255)

我的代码:

public class IOTest {
public static void main(String[] args) {
    System.out.println("请在下面输入一行字符 :\n");
    try {
        System.in.read(buffer,0,255);
    }
    catch(Exception e) {
        System.out.println("读取输入字符出错,错误信息为 :"+e.toString()+"\n");
    }
    System.out.println("您刚才输入的一行字符为 :\n");
    String inputStr=new String(buffer,0);
    System.out.println(inputStr);
}
}

以下是运行代码时的错误信息:

D:\dasi\java\javaLab>javac -encoding UTF-8 IOTest.java
`enter code here`IOTest.java:7: 错误: 找不到符号
                    System.in.read(buffer,0,255);
                                   ^


符号:   变量 buffer
  位置: 类 IOTest
IOTest.java:13: 错误: 找不到符号
                String inputStr=new String(buffer,0);
                                           ^
  符号:   变量 buffer
  位置: 类 IOTest
注: IOTest.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
2 个错误

有人可以帮助我吗?我真的检查过,但我仍然不知道为什么。 顺便说一句,中文单词“错误:找不到符号”的意思是"error : cannot find symbol"。

您应该像这样创建 buffer 变量:

byte[] buffer = new byte[256]

完整代码:

public class IOTest {
    public static void main(String[] args) {
        System.out.println("请在下面输入一行字符 :\n");
        byte[] buffer = new byte[256]; // This line was added
        try {
            System.in.read(buffer,0,255);
        }
        catch(Exception e) {
            System.out.println("读取输入字符出错,错误信息为 :"+e.toString()+"\n");
        }
        System.out.println("您刚才输入的一行字符为 :\n");
        String inputStr=new String(buffer,0);
        System.out.println(inputStr);
    }
}

在继续之前,您可能需要阅读一些 Java 教程——例如这个:http://docs.oracle.com/javase/tutorial/essential/io/cl.html

你的程序必须改成这样:

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

public class IOTest {
    public static void main(String[] args) {
        System.out.println("请在下面输入一行字符 :\n");
        BufferedReader br;
        String inputLine = "";
        try {
            br = new BufferedReader(new InputStreamReader(System.in));
            inputLine = br.readLine();
        } catch(Exception e) {
            System.out.println("读取输入字符出错,错误信息为 :"+e.toString()+"\n");
        }
        System.out.println("您刚才输入的一行字符为 :\n" + inputLine);
        //    String inputStr=new String(buffer,0);
        //    System.out.println(inputStr);
    }
}