1.5 输入/输出

在本节之前,我们一直使用命令行参数和标准输出作为我们的Java程序与外部交互的接口。在本节中,我们将扩展它们,以使得Java程序与外部的交互更加方便。这些新的接口包括标准输入(standard input)、标准绘图(standard drawing)和标准音频(standard audio)。标准输入可以用于处理任意数量的输入数据并实现与程序的交互;标准绘图可以编码图像;标准音频可以编码声音,使输入和交互不再局限于文本信息。这些新功能其实非常易于使用,并将带你进入一个编程的新境界。

I/O通常指输入/输出(Input/Output的英文首字母),它表达的意思也是这两个术语的组合。I/O是程序与外部世界交流的机制。计算机操作系统控制着与计算机连接的各种物理设备,从而实现与外界的交互。我们的程序会使用一些I/O相关的库函数方法,这些方法会调用操作系统提供的接口最终实现I/O。为了提高编程的通用性和便捷性,这些库函数通常将I/O操作进行标准化抽象(无论操作系统的实现如何,这些接口库会根据这些差异给出不同的实现,并提供一致的库函数接口——译者注)。

你已经学会了如何从命令行接收参数,如何在终端窗口打印字符串;本节将带你学习更多的数据处理和数据呈现工具。我们将要学习的这些工具和函数与前面学过的System.out.print()和System.out.println()库方法类似,这些函数实现的不是纯数学功能,而是实现一些对输入设备或输出设备的控制功能。我们会通过控制这些设备实现程序的数据输入和输出。

从程序的角度来看,标准I/O机制的一个基本特征是输入或输出的数据量没有限制。你的程序可以无限地消耗输入数据或者产生输出数据。

标准I/O机制的另一个用处是将程序连接到计算机外部存储中的文件(file)上。标准输入、标准输出、标准绘图和标准音频都可以很容易地连接到文件上,这使得Java程序很容易从文件中加载数据,或者将处理结果保存到文件中,以便存档或者供其他程序使用。 ...

Get 计算机科学导论:跨学科方法 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.