IO流BufferedReader------BufferedWriter 高效缓冲区

package bufferedWriter;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class Demo1 {
    public static void main(String[] args) {
        wirter();

    }
    /**
     * 高效缓冲区
     */
    public static void wirter()
    {
        FileWriter fw = null;
        BufferedWriter bw = null;

        try {
            fw = new FileWriter("d.txt");
            //创建高效缓冲区的对象
            bw = new BufferedWriter(fw);
            //输出数据
            for(int i=0 ; i<10; i ++) {
            bw.write("java太好学了,太简单了");
//            换行,相当于\r\n
            bw.newLine();
            }
            //清空缓冲区
            bw.flush();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            if(bw!=null) {
                try {
                    //关闭缓冲区的流,会自动关闭FIlewriter
                    bw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
}
package bufferedReader;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Demo1 {
    public static void main(String[] args) {
        reader();

    }

    public static void reader()
    {
        FileReader fr = null;

        BufferedReader br = null;

        try {
            fr = new FileReader("d.txt");

            br = new BufferedReader(fr);

            int num = -1;

            while((num=br.read()) != -1) {
                System.out.print((char)num);
            }

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }catch(IOException e) {
            e.printStackTrace();
        }

        finally {
            if(br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        }

    }
}
package bufferedReader;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Demo2 {
    public static void main(String[] args) {
        reader();

    }

    public static void reader()
    {
        FileReader fr = null;

        BufferedReader br = null;

        try {
            fr = new FileReader("d.txt");

            br = new BufferedReader(fr);
            char [] chs = new char[1024];
            int num = -1;

            while((num=br.read(chs)) != -1) {
                System.out.print(new String(chs,0,num));
            }

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }catch(IOException e) {
            e.printStackTrace();
        }

        finally {
            if(br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        }

    }
}
package bufferedReader;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Demo3 {
    public static void main(String[] args) {
        reader();

    }

    public static void reader()
    {
        FileReader fr = null;

        BufferedReader br = null;

        try {
            fr = new FileReader("d.txt");

            br = new BufferedReader(fr);

            String line = br.readLine();

            //下一行读取数据的时候,如果没有数据的话,会得到空,null;
            //使用高效输入流可以读取一行数据
            while((line = br.readLine()) != null)
            {
                System.out.println(line);
            }

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }catch(IOException e) {
            e.printStackTrace();
        }

        finally {
            if(br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        }

    }
}

原文地址:https://www.cnblogs.com/java-jiangtao-home/p/9374982.html

时间: 2024-08-07 18:13:51

IO流BufferedReader------BufferedWriter 高效缓冲区的相关文章

10.4 缓冲流 BufferedReader &amp; BufferedWriter&amp; 缓冲流特殊功能readLine

缓冲流和正常流的使用大致相同,缓冲流效率更高. package day10_io_fileWrite_Read.buffer_stream; import java.io.*; /* * BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符.数组和字符串的高效写入. * BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取. */ public class BufferedStream { public static

java缓冲流,BufferedReader,BufferedWriter 详解

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

java之IO流

知识点: java.io包中:类File:实现的接口:Serializable,Comparable<File> 含义:文件和目录路径名的抽象表示形式.  [抽象路径名 中第一个名称是目录名,抽象路径名中第一个名称之后每个名称都是表示一个目录,最后一个名称即可以表示目录也可以表示文件]  用户界面和操作系统使用与系统相关的 路径名字符串 来命名文件和目录.此类呈现分层路径名的一个抽象的.与系统无关的视图. 抽象路径名 有两部分组成: 1)一个可选的与系统相关的前缀字符串,比如盘符:"

Java基础知识(JAVA之IO流)

学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 Java流操作有关的类或接口: 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表.字节

JAVA进阶-IO流(1)

http://download.csdn.net/detail/qq285016127/7963747 Java对文件的操作API一般分为字节流 字符流 其为文件的读写API框架也是通过这个思想去扩展的.另外,在流的流向中也分为源流和宿流.如图(流的主体是根据流向决定,如输入InputStream/输出流OutPutStream) <1>从整个框架上看,io流的主要知识点分为: 1.字节流(输入FileInputStream/输出FileOutputStream) 1)字节流的构造一般都会通过

第九章:IO流

第九章:IO流 File类 java.io.File类:表示文件或目录.常用方法:getName()getPath()getAbsolutePath()length()isFile()isDirectory()listFiles()mkdir()/mkdirs()createNewFile().... 流的原理和分类 按照方向分:输入流和输出流 按照读写单位:字节流和字符流 按照功能:节点流和处理列 字节输入流和字节输出流(节点流) 字节输入:InputStream InputStream抽象类

JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇幅讲 一.文本复制 读写都说了,我们来看下其他的操作,我们首先来看复制 复制原理:其实就是将C盘下的文件数据存储到D盘的一个文件中 实现的步骤: 1.在D盘创建一个文件,用于存储文件中的数据 2.定义读取流和文件关联 3.通过不断的读写完成数据的存储 关闭资源 package com.lgl.hel

理解IO流:InputStream和OutputStream,FileInputStream和FileOutputStream,Reader和Writer,FileReader和FileWriter,BufferedInputStream 和 BufferedOutputStream, BufferedReader 和 BufferedWriter,转换流

/* * 1.理解 "流" ? * 动态性.连续性.方向性. * * 2.在java语言中,将数据的输入/输出称之为 IO流. IO流的分类: * 1) 从方向分: 输入流 , 输出流. (参照计算机的内存) * 将数据送到内存中去称之为输入流.反之,称之为输出流. * * 2) 从处理单位来分: 字节流(8位二进制数据), 字符流(16位二进制数据). * * 3) 从是否有数据源来分: 节点流(有数据源), 处理流(必须套在节点流上). * * 3.在Java语言中,所有流类均来自

JAVA之IO技术BufferedReader,BufferedWriter的缓冲区技术的使用和原理

BufferedReader: package ioTest.io2; /* * BufferedReader:该缓冲区提供了一个一次读一行的方法 * readline(); * * 加入缓冲区技术的优点是什么呢? * 原来我是读一个字符取一个字符,现在变成我读一行字符,将其放在数组中,然后再取. * 这样是不是提高了效率.实际上BufferedReader类底层实现的原理,就是利用了数组. */ import java.io.BufferedReader; import java.io.Fil