12.2.6 程序实例

12.2.6 程序实例

【例12-2】读取从键盘上输入的数据和文件中的内容,并在屏幕上显示该字符串。

img504

img505

【程序说明】

(1)语句BufferedInputStream bufin=new BufferedInputStream(System.in)表示从键盘输入为参数创建缓冲区字节输入流对象bufin。请注意:从键盘上输入的字符串结尾会自动加上回车和换行符。

(2)语句FileInputStream filein=new FileInputStream("aaa.txt")表示用本地机当前目录上的文件"aaa.txt"创建文件字节输入流对象。

(3)语句while(filein.read(input)!=−1)中的filein.read(input)表示从对象filein中逐个读入字节到输入字节缓冲数组input中。

(4)程序中对捕捉到的异常都是只是输出了出错信息,并没有分类处理。

假定当前目录下“aaa.txt”中的内容为:

hello,java world!

那么,程序运行结果如下:

输入字节:thank you!

你输入的字节个数为:12

文件中的字符为:

hello,java world!

【例12-3】将键盘上输入的数据在屏幕上显示,并将其添加到本地机文件“aaa.txt”的尾部。

img506

img507

【程序说明】

(1)语句BufferedOutputStream bufout=new BufferedOutputStream(System.out)表示用屏幕输出创建了缓冲字节输出流对象bufout 。

(2)语句FileOutputStream fileout=new FileOutputStream("aaa.txt",true)表示用本地机当前目录上的文件"aaa.txt"创建了文件字节输出流对象fileout。其中,参数true表示将输出到文件中的内容添加到文件的尾部。

(3)缓冲字节输入流对象bufin调用的是父类InputStream的close()方法;缓冲字节输出流对象bufout和文件字节输出流对象fileout调用的close()方法是它们的共同父类OutputStream中提供的方法。

程序输出为:

输入字节aaabbbccc

你输入的字节个数为:11

你输入的字符串为:aaabbbccc