从尺度输入中读取数据
当前位置:以往代写 > JAVA 教程 >从尺度输入中读取数据
2019-06-14

从尺度输入中读取数据

从尺度输入中读取数据

以Unix首先建议的“尺度输入”、“尺度输出”以及“尺度错误输出”观念为基本,Java提供了相应的System.in,System.out以及System.err。贯这一整本书,各人城市打仗到如何用System.out举办尺度输出,它已预封装成一个PrintStream工具。System.err同样是一个PrintStream,但System.in是一个原始的InputStream,未举办任何封装处理惩罚。这意味着尽量能直接利用System.out和System.err,但必需事先封装System.in,不然不能从中读取数据。
典范环境下,我们但愿用readLine()每次读取一行输入信息,所以需要将System.in封装到一个DataInputStream中。这是Java 1.0举办行输入时采纳的“老”步伐。在本章稍后,各人还会看到Java 1.1的办理方案。下面是个简朴的例子,浸染是回应我们键入的每一行内容:
 

//: Echo.java
// How to read from standard input
import java.io.*;

public class Echo {
  public static void main(String[] args) {
    DataInputStream in =
      new DataInputStream(
        new BufferedInputStream(System.in));
    String s;
    try {
      while((s = in.readLine()).length() != 0)
        System.out.println(s);
      // An empty line terminates the program
    } catch(IOException e) {
      e.printStackTrace();
    }
  }
} ///:~

之所以要利用try块,是由于readLine()大概“掷”出一个IOException。留意同其他大大都流一样,也应对System.in举办缓冲。
由于在每个措施中都要将System.in封装到一个DataInputStream内,所以显得有点不利便。但回收这种设计方案,可以得到最大的机动性。

    关键字:

在线提交作业