【IO流】25 - 字符流 - 字符输出流的缓冲流以及字符输入流的缓冲流BufferedWriter和BufferedReader

package cn.itcast.demo2;

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

/*
 *   字符输出流缓冲区流
 *     java.io.BufferedWriter 继承 Writer
 *     写入方法 write () 单个字符,字符数组,字符串
 *
 *     构造方法:
 *       BufferedWriter(Writer w)传递任意字符输出流
 *       传递谁,就高效谁
 *         能传递的字符输出流 FileWriter, OutputStreamWriter
 *
 *    BufferedWriter 具有自己特有的方法
 *      void  newLine() 写换行
 *
 *       newLine()文本中换行, \r\n也是文本换行
 *       方法具有平台无关性
 *       Windows  \r\n
 *       Linux    \n
 *
 *       newLine()运行结果,和操作系统是相互关系
 *       JVM: 安装的是Windows版本,newLine()写的就是\r\n
 *            安装的是Linux版本,newLine()写的就是\n
 */
public class BufferedWrierDemo {
    public static void main(String[] args) throws IOException{
        //创建字符输出流,封装文件
        FileWriter fw = new FileWriter("c:\\buffer.txt");
        BufferedWriter bfw = new BufferedWriter(fw);

        bfw.write("你好");
        bfw.newLine();
        bfw.flush();

        bfw.write("我好好");
        bfw.newLine();
        bfw.flush();

        bfw.write("大家都好");
        bfw.flush();

        bfw.close();

    }
}

/*
 *
        bfw.write(100);
        bfw.flush();

        bfw.write("你好".toCharArray());
        bfw.flush();*/
package cn.itcast.demo2;

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

/*
 *  字符输入流缓冲流
 *    java.io.BufferedReader 继承 Reader
 *    读取功能 read() 单个字符,字符数组
 *    构造方法:
 *      BufferedReader(Reader r)
 *      可以任意的字符输入流
 *         FileReader  InputStreamReader
 *
 *     BufferedReader自己的功能
 *     String readLine() 读取文本行 \r\n
 *
 *     方法读取到流末尾,返回null
 *     小特点:
 *       获取内容的方法一般都有返回值
 *       int 没有返回的都是负数
 *       引用类型 找不到返回null
 *       boolean 找不到返回false
 *
 *       String s = null
 *       String s ="null"
 *
 *       readLine()方法返回行的有效字符,没有\r\n
 */
public class BufferedReaderDemo {
    public static void main(String[] args) throws IOException {
        int lineNumber = 0;
        //创建字符输入流缓冲流对象,构造方法传递字符输入流,包装数据源文件
        BufferedReader bfr = new BufferedReader(new FileReader("c:\\a.txt"));
        //调用缓冲流的方法 readLine()读取文本行
        //循环读取文本行, 结束条件 readLine()返回null
        String line = null;
        while((line = bfr.readLine())!=null){
            lineNumber++;
            System.out.println(lineNumber+"  "+line);
        }
        bfr.close();
    }
}

/*
 * String line = bfr.readLine();
        System.out.println(line);

        line = bfr.readLine();
        System.out.println(line);

        line = bfr.readLine();
        System.out.println(line);

        line = bfr.readLine();
        System.out.println(line);

        line = bfr.readLine();
        System.out.println(line);
 */

原文地址:https://www.cnblogs.com/a888/p/8414215.html

时间: 2024-12-18 20:01:27

【IO流】25 - 字符流 - 字符输出流的缓冲流以及字符输入流的缓冲流BufferedWriter和BufferedReader的相关文章

IO字符流之读写缓冲区(BufferedWriter、BufferedReader)

缓冲区是为了提高效率所使用的,在使用缓冲区之前必须先明确流对象.就如同拿杯子接水一样,必须先知道这个杯子放在哪里接水 BufferedWriterDemo(输入字符流缓冲区演示): import java.io.*; /* 缓冲区的出现是为了提高流的操作效率而出现的. 所以在创建缓冲区之前,必须要先有流对象. 该缓冲区对象中提供了一个跨平台的换行符. newLine(); */ class BufferedWriterDemo { public static void main(String[]

Java基础知识强化之IO流笔记61:标准输入输出流的本质

1. 标准输入输出流  System类中的两个成员变量: public static final InputStream in :"标准"输入流. public static final PrintStream out :"标准"输出流. 备注: InputStream is = System.in; PrintStream ps = System.out; 代码示例: 1 package cn.itcast_04; 2 3 import java.io.Print

Java IO4:字符流进阶及BufferedWriter、BufferedReader

字符流和字节流的区别 拿一下上一篇文章的例子: 1 public static void main(String[] args) throws Exception 2 { 3 File file = new File("D:/writer.txt"); 4 Writer out = new FileWriter(file); 5 // 声明一个String类型对象 6 String str = "Hello World!!!"; 7 out.write(str);

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

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

Java IO6:字符流进阶及BufferedWriter、BufferedReader

原文:http://www.cnblogs.com/xrq730/p/4890052.html 字符流和字节流的区别 public static void main(String[] args) throws Exception{ File file = new File("D:/writer.txt"); Writer out = new FileWriter(file); // 声明一个String类型对象 String str = "Hello World!!!&quo

【IO流】23 - 字节流 - 字节输出流的缓冲流以及字节输入流的缓冲流BufferedOutputStream&BufferedInputStream

package cn.itcast.demo1; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; /* * 字节输出流的缓冲流 * java.io.BufferedOuputStream 作用: 提高原有输出流的写入效率 * BufferedOuputStream 继承 OutputStream * 方法,写入 write 字节,字节数组 * * 构

IO流系列一:输入输出流的转换

输入流转字节数组的原理1.读取输入流,每一小段 读一次,取出 byteArray .2.将该一小段byteArray写入到字节输出流ByteOutStream.直到不能从输入流再读出字节为止.3.将字节输出流转成字节数组. 源码: public class ByteToInputStream { public static final InputStream byte2Input(byte[] buf) { return new ByteArrayInputStream(buf); } publ

文件分割器,一个读取流,相应多个输出流,并且生成的碎片文件都有有序的编号

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class FileSpilte { /** * @param args * @throws IOException */

javaSE中的输入输出流---一个读取流,对应多个输出流。而且生成的碎片文件都有有序的编号

<span style="font-size:18px;">package com.io.other.split; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties;