跳转至内容

基本 I/O

75% developed
来自维基教科书,开放的书籍,为了开放的世界

主题:
导航 用户界面 主题:v  d  e )


本节介绍用于 **基本输入输出** 的 Java 平台类。但在开始之前,我们需要对编程中的输入输出含义有一个具体的理解。为了理解这个概念,可以将 Java 平台视为一个 *系统*。

理解输入和输出

[编辑 | 编辑源代码]

Java 平台是一个隔离的实体,在你的操作系统中是一个空间,该系统外部的一切都是它的 *环境*。系统与其环境之间的交互是一种双向对话。系统要么接收来自其环境的消息,要么将自身的消息传递给环境。当系统接收到消息时,它被称为 *输入*,它的反面是 *输出*。总体而言,这种通信被称为 *输入/输出*,简称为 *I/O*。

以下章节旨在介绍 Java 中的基本输入输出,包括从键盘读取文本输入,将文本输出到显示器,以及从文件系统读取/写入文件。更多使用图形和 图形用户界面 (GUI) 程序的更高级的用户交互将在后面的 Swing 部分介绍。

I/O 有两个包:较旧的 java.io 包(不支持符号链接)和较新的 java.nio(“新 io”)包,它在 java.nio.file 中改进了异常处理。

简单的 Java 输出:写入屏幕

[编辑 | 编辑源代码]

写入屏幕非常容易,可以使用以下两种方法之一实现

Example 代码部分 9.1:打印“Hello world”但不换行
System.out.print("Hello world");
Standard input or output 屏幕上的输出
Hello world 
Example 代码部分 9.2:打印“Hello world”并换行
System.out.println("Hello world");
Standard input or output 屏幕上的输出
Hello world 

简单的 Java 输入:从键盘输入

[编辑 | 编辑源代码]

从 5.0 版本开始,Java 在 java.util 包中提供了一个名为 Scanner 的类,简化了键盘输入。

Example 代码部分 9.3:使用 Scanner 输入
Scanner kbdIn = new Scanner(System.in); // Instantiating a new Scanner object
System.out.print("Enter your name: "); // Printing out the prompt
String name = kbdIn.nextLine(); // Reading a line of input (until the user hits enter) from the keyboard
// and putting it in a String variable called name
System.out.println("Welcome, " + name); // Printing out welcome, followed by the user's name
Standard input or output 屏幕上显示
请输入您的姓名:John Doe 欢迎您,John Doe 

或者,可以编写一个方法来处理键盘输入。

Example 代码部分 9.4:行读取器
public String readLine() {
  // Creates a new BufferedReader object
  BufferedReader x = new BufferedReader(new InputStreamReader(System.in));

  // Reads a line of input and returns it directly
  return x.readLine();
}

请注意,以上代码不应在大多数应用程序中使用,因为它每次运行方法时都会创建新的对象。更好的选择是创建一个单独的类文件来处理键盘输入。


Clipboard

待办事项
添加一些类似于 变量 中的练习。


华夏公益教科书