java 中简单的IO流(二)

今天我们一起简单的总结一下缓冲流,今天着重看一下BufferReader   和BufferWriter这两个缓冲流。我们知道BufferReader是缓冲流,那么何为缓冲流,效率如何提高呢?BufferReader中有一个字符数组缓冲区,这个字符缓冲区有默认缓冲大小,或者你可以指定缓冲区的大小。当程序运行时,会启动IO操作,将源中的数据读取出来,一次将缓冲区读满。当我们进行其他操作时,读取到一个字符数组,读取一行等。都是读取的是缓冲区的内容。当缓冲区的内容不够读取时,这时在启动IO操作,将读完的的数据在重新填充。这样减少IO操作,提高效率。同时BufferWrite也是将缓冲区填满后,然后自动开启IO操作。

1.BufferReader和BuffereWrite的常用用法:

public class TestBufferedReader {

public static void main(String[] args) {

//read();

try {
BufferedWriter bw = new BufferedWriter(
new FileWriter(
new File("e:/io/a.txt")));

String msg="你好";
bw.write(msg);
String msg2="范冰冰";
                        
                        /*****
                          bw的这几个write是将这些数据填充到
                          内存缓冲区中,只有缓冲区满了,才开启
                          IO操作,或者调用flush()自动开启IO操作
                        ********/
bw.write(msg2);//将数据填充到缓冲区
bw.newLine();
bw.write(msg2);
bw.write(msg2);
bw.newLine();  //写入空的换行
bw.write(msg2);

bw.flush(); //刷新缓冲区
bw.close();

} catch (Exception e) {
// TODO: handle exception
}

}

private static void read() {
try {
//减少了IO的读写次数,提高效率(一次可以将整个缓冲区填满)
BufferedReader br = new BufferedReader(
new FileReader(
new File("e:/io/a.txt")));

String line="";
//打印缓冲区中的内容
while((line=br.readLine())!=null)
{
System.out.println(line);
}

} catch (Exception e) {
// TODO: handle exception
}
}

}

时间: 2024-07-31 01:48:46

java 中简单的IO流(二)的相关文章

Java中常见的IO流及其使用

Java中IO流分成两大类,一种是输入流,所有的输入流都直接或间接继承自InputStream抽象类,输入流作为数据的来源,我们可以通过输入流的read方法读取字节数据:另一种是输出流,所有的输出流都直接或间接继承自OutputStream抽象类,输出流接收数据,可以通过write方法写入字节数据.在Java的IO流类中,大部分的输入流和输出流都是成对存在的,即如果存在XXXInputStream,那么就存在XXXOutputStream,反之亦然.(SequenceInputStream和St

Java IO流(二)

目录 Java IO流(二) 7. 字节缓冲流 7.1 概述 7.2 BufferedOutputStream类 7.3 BufferedInputStream类 8. 文件复制练习(增强版 使用缓冲流) 9. 字符缓冲流 9.1 BufferedWriter类 9.2 BufferedReader类 10. 练习:文本排序 11. 转换流 11.1 字符编码和字符集 11.2 编码引出的问题 11.3 转换流的原理 11.4 OutputStreamWriter类 11.5 InputStre

Java实现文件写入——IO流(输入输出流详解)

输入输出的重要性:     输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据.流是一组有序的数据序列,根据操作的类型,分为输入流和输出流. 程序从输入流读取数据,向输出流写入数据.Java是面向对象的程序语言,每一个数据流都是一个对象,它们提供了各种支持“读入”与“写入”操作的流类. Java的输入输出功能来自java.io 包中的InputStream类.OutputStream类.Reader类和Writer类以及继承它们的各种子类. (一)解析文件处理的奥秘 1

java 中的I/O流

I/O 流的三种分类 流的方向 输入/输出 数据单位 字节/字符 字符流专用于处理文本 字节流用于处理一切数据 流的功能 节点/过滤 节点:真正传输数据 过滤流:为节点流增强功能 1.创建节点流 2.封装过滤流 3.读/写数据 4.关闭最外层的过滤流 字节流 InputStream/OutputStream 字节流的父类 抽象类 FileInputStream/FileOutputStream 节点流 读写文件 write(int a) 写一个字节 write(byte[] bs) 把bs中所有

java中简单的db封装

package com.melin.bbs;    import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.sql.Statement; public class DB { //建立连接 public static Connection getConn(){          Connect

Java学习IO流(二)

字节流复制文件 原理:读取一个已有的数据,并将这些读取到的数据写到另一个文件中 字节流通过单字节复制和字节数组赋值 package com.oracle.demo01; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyDemo { public static void main(String[] args) throws IO

Java笔记(19):IO流(01)

1.try...catch的方式处理异常1 1 package cn.itcast_02; 2 3 /* 4 * 异常:程序出现了不正常的情况. 5 * 6 * 程序的异常:Throwable 7 * 严重问题:Error 我们不处理.这种问题一般都是很严重的,比如说内存溢出. 8 * 问题:Exception 9 * 编译期问题:不是RuntimeException的异常 必须进行处理的,因为你不处理,编译就不能通过. 10 * 运行期问题:RuntimeException 这种问题我们也不处

java(九)IO流

IO流: IO流是用来处理设备之间的数据传输的. java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. 流按操作的数据分为两种:字符流和字节流. 字符流的由来:字符流其实就是字节流读取文字字节数据后,不直接操作而是先查指定的编码表,  获取对应的文字.再对这个文字进行操作. 简单说,就是字符流=字节流+编码表. 字节流的抽象基类(就是顶层父类):InputStream,OutputStream 字符流的抽象基类:Reader,Writer 这些体系的子类都以父类名作为后缀

java高级特性之IO流

缓冲流 转换流 对象流 打印流 标准输入输出流 随机访问流 数组流 有关flush():所有的处理流的输出流,最外层流需要刷新. javaIO流 1认识File类 File类的对象表示一个文件或者一个文件目录 绝对路径:包含盘符的文件完整路径 相对路径:在当前路径下的文件路径 File类中的方法,涉及到文件或文件目录的新建.删除.获取文件的路径.获取文件的大小.并没有涉及到向文件中写入或读出内容.这样的读取或写入的功能就需要IO流来完成 一般通过将File类的对象作为参数传递到流的构造器中,作为