文档详情

第21讲Java的输入与输出流(下).ppt

发布:2017-03-01约7.2千字共18页下载文档
文本预览下载声明
第21讲 Java的输入与输出流(下) 字符流 用户程序有时需要读取其他格式的数据,如Unicode格式的文字内容,Java提供了相应的输入输出流:字符流。字符流中的大多数的类都能在字节流中找到相应的类。字符流分为Reader和Writer两个类,分别实现字符的输入与输出。 Reader类和Writer类 字符流提供了处理字符的输入/输出的方法,包括两个抽象类Reader和Writer。字符流Reader指字符流的输入流,用于输入,而Writer指字符流的输出流,用于输出。 Reader和Writer使用的是Unicode,可以对不同格式的流进行操作。从Reader和Writer派生出的子类的对象都能对Unicode字符流进行操作,由这些对象来实现与外设的连接。 Reader类常用方法 Writer类常用方法 字符文件流FileReader和FileWriter类 FileReader、FileWriter类用于字符文件的输入输出处理,与文件数据流FileInputStream、FileOutputStream的功能相似。 其构造方法如下: public FileReader(File file) throws FileNotFoundException public FileReader(String filename) throws FileNotFoundException public FileWriter(File file) throws IOException public FileWriter(String fileName,boolean append)throws IOException FileReader从超类中继承了read、close等方法,FileWriter从超类中继承了write、close等方法。 例:FileReader in=new FileReader(java11.txt); 例11.5用FileReader一个字符一个字符地读取整个文件。 import java.io.*; public class Ex11_5{ public static void main(String args[]){ FileReader fr; int ch; try { fr=new FileReader(c:\\Ex11_5.java); while((ch=fr.read())!=-1){ System.out.print((char)ch); } }catch(Exception e){ e.printStackTrace(); } } } 字符缓冲流BufferedReader类和BufferedWriter类 FileReader和FileWriter类以字符为单位进行输入输出,无法进行整行输入与输出,数据的传输效率很低。Java提供BufferedReader和BufferedWriter类以缓冲区方式进行输入输出,其构造方法如下: public BufferedReader(Reader in) public BufferedReader(Reader in,int sz) public BufferedWriter(Writer out) public BufferedWriter(Writer out,int sz) BufferedReader流能够读取文本行,方法是readLine()。 字符缓冲流BufferedReader类和BufferedWriter类(续) 通过向BufferedReader传递一个Reader对象或者Reader子类对象来创建一个BufferedReader对象,如: BufferedReader br=BufferedReader (new FileReader(java11.txt)); 然后再从流br中读取java11.txt中的内容。 类似的,可以将BufferedWriter流与FileWriter流连接起来,然后通过BufferedWriter流将数据写到目的地,例如: FileWriter fw=new FileWriter(java11.in); BufferedWriter bw=new BufferedWriter(fw); 然后使用BufferedReader类的成员方法write(Stri
显示全部
相似文档