字符缓冲流BufferedWriter和BufferedWriter

字符缓冲流

1、基本用法

 1 import java.io.BufferedReader;
 2 import java.io.BufferedWriter;
 3 import java.io.FileReader;
 4 import java.io.FileWriter;
 5 import java.io.IOException;
 6
 7 /**
 8  * BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
 9  * BufferedWriter:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
10  * @author Administrator
11  *
12  */
13 public class BufferedStreamDemo {
14     public static void main(String[] args) throws IOException {
15         //创建缓冲流对象
16         BufferedWriter bw=new BufferedWriter(new FileWriter("C:\\Test\\bw.txt"));
17         bw.write("hello");
18         //bw.flush();
19         bw.close();
20
21         //一次读取一个字符
22         //创建输入缓冲流对象
23         BufferedReader br=new BufferedReader(new FileReader("C:\\Test\\bw.txt"));
24         int ch;
25         while((ch=br.read())!=-1) {
26             System.out.print((char)ch);
27         }
28         br.close();
29         System.out.println();
30         //一次读取一个字符数组
31         BufferedReader br2=new BufferedReader(new FileReader("C:\\Test\\bw.txt"));
32         int len=0;
33         char chs[]=new char[1024];
34         while((len=br2.read(chs))!=-1) {
35             System.out.print(new String(chs,0,len));
36         }
37         br2.close();
38     }
39 }

 2、缓冲流复制文本文件两种方式

 1 import java.io.BufferedReader;
 2 import java.io.BufferedWriter;
 3 import java.io.FileReader;
 4 import java.io.FileWriter;
 5 import java.io.IOException;
 6
 7 /**
 8  * 需求:把项目路径下的BufferedStreamCopy.java中的内容复制到项目路径下的copy.java中
 9  * @author Administrator
10  *
11  */
12 public class BufferedStreamCopy {
13     public static void main(String[] args) throws IOException {
14         BufferedReader br=new BufferedReader(new FileReader("BufferedStreamCopy.java"));
15         BufferedWriter bw=new BufferedWriter(new FileWriter("copy.java"));
16          //第一种方式,一次读取一个字符
17 //        int ch;
18 //        while((ch=br.read())!=-1) {
19 //            bw.write(ch);
20 //        }
21
22          //第二种方式,一次读取一个字符数组
23         int len;
24         char[] chs=new char[1024];
25         while((len=br.read(chs))!=-1) {
26             bw.write(chs,0,len);
27         }
28
29         br.close();
30         bw.close();
31
32     }
33 }

 3、缓冲流的特殊功能

BufferedWriter:

    void  newLine():写一个换行符,这个换行符由系统决定

BufferedReader

    String readLine():一次读取一行数据,但是不读取换行符

 1 import java.io.BufferedReader;
 2 import java.io.BufferedWriter;
 3 import java.io.FileReader;
 4 import java.io.FileWriter;
 5 import java.io.IOException;
 6
 7 /**
 8  * 需求:把项目路径下的BufferedStreamCopy.java中的内容复制到项目路径下的copy.java中
 9  * @author Administrator
10  *
11  */
12 public class BufferedStreamCopy {
13     public static void main(String[] args) throws IOException {
14         BufferedReader br=new BufferedReader(new FileReader("copy1.java"));
15         BufferedWriter bw=new BufferedWriter(new FileWriter("copy2.java"));
16         String str;
17         while((str=br.readLine())!=null) {
18             bw.write(str);
19             bw.newLine();
20         }
21         br.close();
22         bw.close();
23
24         BufferedReader brshow=new BufferedReader(new FileReader("copy2.java"));
25         String str2;
26         while((str2=brshow.readLine())!=null) {
27             System.out.println(str2);
28         }
29         brshow.close();
30
31     }
32 }

原文地址:https://www.cnblogs.com/hopeyes/p/9710533.html

时间: 2024-10-08 02:12:05

字符缓冲流BufferedWriter和BufferedWriter的相关文章

字符缓冲流复制java文件

package com.io.liushuaishuai; import java.io.*; public class copyjavaDemo01 { public static void main(String[] args) throws IOException { //创建字符缓冲输入流对象 BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\86132\\IdeaProjects\\javaSE_Code

字符缓冲流BufferedWriter BufferedReader

//字符缓冲流主要用于文本数据的高速写入 package cn.lijun.demo1; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; public class BufferedReaderDemo { public static void main(String[] args) throws Exception { //创建字符输入缓冲流对象 Buf

java缓冲流,BufferedReader,BufferedWriter 详解

缓冲流,BufferedReader,BufferedWriter 1)BufferedReader,BufferedWriter是更高级的流,二者的源和目的地必须是字符输入流和字符输出流.如果把字符输入流做为BufferedReader流的源,把字符输出流作为BufferedWriter流的目的地,那么BufferedReader,BufferedWriter将有更强的读.写能力. //构造函数 BufferedReader(Reader in); BufferedWriter(Writer

字符缓冲流 Day20

package com.sxt.prac; /* * 缓冲流之字符缓冲流 defaultCharBufferSize = 8192; * 1.读入到程序 * 2.程序写到文件 * 3.采用循环边读边写 * 两个独有的方法: * BufferedReader br.readLine();//读内容 没有返回null * BufferedWriter bw.newLine; */ import java.io.BufferedReader; import java.io.BufferedWriter

java 21 - 6 字符缓冲流的特殊方法以及该方法高效复制文件

字符缓冲流的特殊方法: A.BufferedWriter: public void newLine():根据系统来决定换行符 1 private static void write() throws IOException { 2 //创建字符输出缓冲流 3 BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt")); 4 for(int x = 0;x < 10 ; x++){ 5 bw.write(&quo

JAVA笔记12__字节、字符缓冲流/打印流/对象流/

/** * !!:以后写流的时候一定要加入缓冲!! * 对文件或其它目标频繁的读写操作,效率低,性能差. * 缓冲流:好处是能更高效地读写信息,原理是将数据先缓冲起来,然后一起写入或读取出来. * * BufferedInputStream:字节缓冲流(有一个内部缓冲区数组,用于缓冲数据) */ public class Main { public static void main(String[] args) { input(); output(); } /** * 使用字节缓冲流进行读取操作

字符缓冲流,properties类,序列化流与反序列化流,打印流

1.字符缓冲流的写法与字节缓冲流类似,也是用字符缓冲对象嵌套字符读写对象.格式为: BufferedReader br=new BufferedReader(new FileReader(数据源)): BufferedWriter bw=new BufferedWriter(new FileWriter(目的地)): 2.BufferedReader有一个优势是可以读取一个文本行,它的方法是readLine(),这与FileReader相区别. 3.在IO操作时选用哪个对象,要看输入还是输出,文

缓冲流之字符缓冲流

字符缓冲流 字符缓冲输入流 BufferedReader 字符缓冲输出流 BufferedWriter 完成文本数据的高效的写入与读取的操作 1  字符缓冲输出流 BufferedWriter void newLine() 根据当前的系统,写入一个换行符 public static void method01() throws IOException{ //明确目的地 FileWriter fw =new FileWriter("E:\\java\\demo01.txt"); //添加

java字节缓冲流和字符缓冲流

一.字节缓冲流 1.介绍 字节缓冲流根据流的方向,分为: 1.写入数据到流中,字节缓冲输出流 BufferedOutputStream 2.读取流中的数据,字节缓冲输入流 BufferedInputStream 它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度 2.字节缓冲输出流BufferedOutputStream 构造方法: public BufferedOutputStream(OutputStream out):创建一个新的缓冲输出流,以将数据写入指定的底层输