12.2.6 程序实例
【例12-2】读取从键盘上输入的数据和文件中的内容,并在屏幕上显示该字符串。
【程序说明】
(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”的尾部。
【程序说明】
(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