当前位置: 首页 > 科技观察

使用BufferedReader和BufferedWriter类实现文件复制

时间:2023-03-17 19:34:38 科技观察

大家好,我是Java进阶。前言本文主要学习BufferedReader类读取文本文件内容,BufferedWriter类将内容写入文本文件,并使用BufferedReader和BufferedWriter类实现文件复制。接下来小编就带大家一起来学习一下吧!一、BufferedReader类1.BufferedReader类是一个带有缓冲区的字符输入流。它通常与FileReader和InputStreamReader类一起使用。它缓冲输入流,然后从缓冲区读取数据。2、BufferedReader的构造方法(1)publicBufferedReader(Readerin):创建一个带指定大小输入缓冲区的缓冲字符输入流,in参数为指定的Reader流对象。(2)publicBufferedReader(Readerin,intsz):创建的缓冲输入流对象指向参数in指定大小(sz)的输入缓冲区的Reader流对象。3.BufferedReader流可以读取文本行.您可以通过BufferedReader传递一个Reader对象来创建一个BufferedRader对象,然后调用readLine()方法读取文本行。原因是FileReader没有读取文本行的功能。4.BufferedReader方法:(1)publicintread()throwsIOException:读取单个字符,该方法为读取的字符返回一个整数(0到65535之间的整数),如果到达结尾则返回-1流。(2)publicintread(char[]cbuf)throwsIOException:将多个字符读入字符数组cbuf。(3)publicvoidclose()throwsIOException:表示流被关闭。(4)publicStringreadLine()throwsIOException:读取一行文本。5.如何使用BufferedReader读取文本数据?importjava.io.*;publicclassP15{publicstaticvoidmain(String[]args)throwsException{//TODOAuto-generatedmethodstubBufferedReaderbr=newBufferedReader(newFileReader("text/test"));//定义字符数组用于读取char[]c=newchar[1024];intnum=0;//判断是否读到文末while((num=br.read(c))!=-1){System.out.println(newString(c,0,num));}//关闭流br.close();}}运行结果如下:2.BufferedWriter类1.BufferedWriter类是带有缓冲区的字符输出流,一般连接FileWriter,然后使用BufferedWriter写入数据。FileWriter是BufferedWriter的底层流。BufferedWriter将数据写入缓冲区,底层流将数据写入文本文件。2.BufferedWriter类构造方法(1)publicBufferedWriter(Writerout):创建一个带指定大小输入缓冲区的缓冲字符输入流,out参数为指定的Writer流对象。(2)publicBufferedWriter(Writerout,intsz):创建的缓冲输入流对象指向参数in指定大小(sz)的输入缓冲区的Writer流对象。3.BufferedWriter类构造方法示例FileWriterfw=newFileWriter("测试.txt");BufferedWriterbw=newBufferedWriter(fw);4.BufferedWriter方法:(1)publicvoidwrite(Stringstr)throwsIOException方法:写一个字符串。(2)publicvoidwrite(Stringstr,intoff,intlen)throwsIOException方法:从字符串str的off偏移量开始写入len个字符。(3)publicStringnewLine()throwsIOException:向文本文件写入一个换行符。(4)publicvoidflush():刷新缓冲区。5.如何使用BufferedWriter写入数据?importjava.io.*;publicclassP16{publicstaticvoidmain(String[]args)throwsException{//TODOAuto-generatedmethodstub//创建BufferedWriter缓冲对象FileWriterfw=newFileWriter("text/test16");BufferedWriterbw=newBufferedWriter(fw);//向文件写入内容bw.write("第一行是Java学习");//换行bw.newLine();bw.write("第二行是Python学习");//关闭流bw.close();}}运行结果如下:3.如何使用BufferedReader和BufferedWriter类实现文件复制?1.先在text目录下创建test01.txt,写上“第一行写Java学习,第二行写进阶交流的内容公众号”。2、代码实现:importjava.io.*;publicclassP17{publicstaticvoidmain(String[]args)throwsException{//TODOAuto-generatedmethodstub//创建BufferedReader缓冲对象FileReaderfr=newFileReader("text/test01");BufferedReaderbr=newBufferedReader(fr);//创建BufferedWriter缓冲对象FileWriterfw=newFileWriter("text/test02");BufferedWriterbw=newBufferedWriter(fw);Strings;//判断是否到文本文件结尾while((s=br.readLine())!=null){bw.write(s);//换行bw.newLine();}//关闭流br.close();bw.close();}}运行结果如下图所示:从上面的代码中,文本文件通过while循环复制。在每个循环中,使用readLine()方法读取文件的行,然后调用write()方法写入文件。四。小结本文主要介绍BufferedReader类、BufferedWriter类,以及BufferedReader和BufferedWriter类实现文件拷贝的使用。BufferedReader类介绍了它的构造方法和方法,通过一个案例学习BufferedReader读取文本文件的内容。BufferedWriter类介绍了它的构造方法和方法,通过案例学习BufferedWriter向文本文件写入内容。使用BufferedReader和BufferedWriter类实现文件复制实例,了解其用法。希望本文的学习对您有所帮助!