java.io包中包含几乎所有可能永远需要在Java中执行输入和输出(I/ O)类。所有这些数据流代表一个输入源和输出目标。 java.io包中的流支持多种数据,如基本类型,对象,本地化的字符等
流可以被定义为一个数据序列。 InputStream用于读取从一个源数据,OutputStream是用于将数据写入到一个目的地。
JAVA I/O提供了强有力,灵活的支持,因为它涉及到的文件和网络,但本基础教程介绍与流非常基本的功能和I / O。我们会来一个接一个看下面最常用的例子:
读取控制台输入:
Java输入控制台由System.in读取完成。为了获得一个连接到控制台基于字符的数据流,包装System.in在一个BufferedReader对象,创建一个字符流。下面是最常见的语法来获得BufferedReader:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
一旦得到BufferedReader,我们可以使用read()方法来达到一个字符或readLine()方法来读取从控制台的字符串。
从控制台读取字符:
要读取一个BufferedReader一个字符,使用read( ) (其语法时才如下所示)方法:
int read( ) throws IOException
每一次read( )被调用时,它读取输入流的字符,并返回它作为一个整数的返回值。1表示到流的末尾。正如所看到的,它可以抛出一个IOException异常。
下面的程序演示read()通过读取字符从控制台,直到用户键入 "q":
// Use a BufferedReader to read characters from the console. import java.io.*; public class BRRead { public static void main(String args[]) throws IOException { char c; // Create a BufferedReader using System.in BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter characters, 'q' to quit."); // read characters do { c = (char) br.read(); System.out.println(c); } while(c != 'q'); } }
下面是一个示例运行:
Enter characters, 'q' to quit. 123abcq 1 2 3 a b c q
从控制台读取字符串:
从键盘读取一个字符串,使用readLine( )是BufferedReader类的成员。其一般形式如下所示:
String readLine( ) throws