金英华 周园园
摘 要:随着计算机的普及,人们无论生活,还是工作都离不开计算机的使用和操作。在线编辑文档也显得尤为重要,手动修改文档费时,还容易出错。本文设计了使用Java语言的InputStreamReader类的文本编辑系统,能够批量地修改文字,提高了工作效率。
关键词:办公系统;InputStreamReader类;BufferedReader类;System.in
1、流(Stream)的定义
在语言程序设计使用时总是需要从键盘、文件的信息读入操作,或是写在显示器、文件、打印机,网络等设备的信息读出操作。计算机处理数据都是以0与1的方式来进行的,两个设备信息交流可以看成两个端点数据传输,两个端点之间进行数据的存取是以0与1的方式来进行的,Java将两个端点(源点和终点)之间的数据流动抽象为一个流(Stream)的概念。
在Java语言中,“流”是用来联系数据传输的源点与终点,与设备本身没关的传输介质,它是对数据传输的一种抽象的描述。
2、数据流的类型
可以分为:字节流(Binary Stream),字符流(Character Stream)
字节流类都是InputStream和OutputStream类的子类,字节流类所操作的数据都是以一个字节(8位)的形式传输。InputStream流的派生类如图1所示,OutputStream流的派生类如图2所示。
字符流类都是Reader和Writer类的子类,字节流类所操作的数据都是以两个字节(16位)的形式传输,因为Java的跨平台特性和使用16位的Unicode字符集,使得字符流类在处理网络程序中的字符时比字节流类更有优势。Reader流的派生类如图3所示,Writer流的派生类如图4所示。
3、InputStreamReader类
InputStreamReader类是把字节流转换成字符流的介质,它读取字节流并将其转换为对应的字符。每次调用InputStreamReader类的定义对象readLine()方法时,都是读入字节流。为了提高程序的运行速度,通常将InputStreamReader类和BufferedReader类封装在一起同时使用,例如:
InputStreamReader stdin=new InputStreamReader(System.in);
BufferedReader bufin=new BufferedReader(stdin);
或者
BufferedReader bufin =new BufferedReader (new InputStreamReader(System.in));
4、java.io包
在java.io包中,包含了InputStreamReader類,BufferedReader类、程序运行过程中可能产生的异常处理类和文件类,因此需要先导入java.io包,例如:
import java.io.*;
5、InputStreamReader流类的应用
本实例使用了字符输入流类InputStreamReader和BufferedReader实现文字的编辑。
行号 Bangongxitong.java
1 import java.io.*;
2 public class Bangongxitong
3 {
4 public static void main(String args[])
5 {
6 String str1,str2,str3,str4;
7 InputStreamReader stdin=new InputStreamReader(System.in);
8 BufferedReader bufin=new BufferedReader(stdin);
9 try{
10 System.out.print("请输入编辑的文字:");
11 str1=bufin.readLine();
12 System.out.print("请输入要删除的文字:");
13 str2=bufin.readLine();
14 int n=str1.indexOf(str2);
15 while (n!=-1)
16 {str3=str1.substring(0,n);
17 str4=str1.substring(n+str2.length());
18 str1=str3.concat(str4);
19 n=str1.indexOf(str2);
20 }
21 System.out.println("编辑后的内容:"+str1);
22 stdin.close();
23 bufin.close();
24 }
25 catch(IOException e)
26 {
27 System.out.println("发生I/O异常!!");
28 }
29 }
30 }
设计程序要实现的运行结果,如图5所示:
参考文献
[1]李卓玲.Java程序设计实用教程.大连理工大学出版社,2005.
[2] 迟勇.Java语言程序设计.大连理工大学出版社,2013.
[3] 迟勇.Java语言程序设计实验及实训指导.大连理工大学出版社,2013.
作者简介:金英华,(1965.05),女,辽宁盖县,硕士研究生,副教授,研究方向:计算机软件。