ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础IO流介绍之五——什么是字符流过滤流、常用的字符过滤流有哪些

2021-06-25 22:33:35  阅读:215  来源: 互联网

标签:字符 PrintWriter Java java bufferedWriter 过滤 File import new


字符流的过滤流

1、字符缓冲流——BufferedReader/BufferedWriter

1、构造方法

BufferedReader(Reader in)
创建使用默认大小的输入缓冲区的缓冲字符输入流。
BufferedWriter(Writer out)
创建使用默认大小的输出缓冲区的缓冲字符输出流。

2、常用方法

BufferedReader: 
    String	readLine()
    读一行文字。
BufferedWriter:
    void	newLine() : 不同的操作系统 换行符不一样   
    写一行行分隔符。
//案例:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class Demo12 {
    public static void main(String[] args) throws Exception{
        //创建两个File对象
        File srcFile = new File("file/a.txt");


        //创建节点字符流
        FileReader fileReader = new FileReader(srcFile);

        //增强功能
        BufferedReader bufferedReader = new BufferedReader(fileReader);

//        String s1 = bufferedReader.readLine();
//        System.out.println(s1);
//
//        String s2 = bufferedReader.readLine();
//        System.out.println(s2);

//        String s;
//        while ((s = bufferedReader.readLine())!=null){
//            System.out.println(s);
//        }

        bufferedReader.close();

    }
}

//案例2: 

import java.io.*;

public class Demo12 {
    public static void main(String[] args) throws Exception{
        //创建两个File对象
        File srcFile = new File("file/a.txt");

        //创建字符流 节点流
        FileWriter fileWriter = new FileWriter(srcFile);

        //过滤流
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

        bufferedWriter.write("春眠不觉晓");
        bufferedWriter.newLine();
        bufferedWriter.write("处处蚊子咬");
        bufferedWriter.newLine();
        bufferedWriter.write("夜来风雨声");
        bufferedWriter.newLine();
        bufferedWriter.write("大包知多少");
        bufferedWriter.newLine();

        bufferedWriter.close();


    }
}

2、PrintWriter流

1、概述

PrintWriter介绍:
      是Writer子类,是字符流,有一个缓冲区,就涉及到一个刷新的功能。
      和PrintStream一样,也是有很多的print和println的方法,其中打印的方法也基本相同
      提供了带有自动刷新的功能,但是开启自动刷新仅仅对println()、printf()、format()方法有效

2、构造方法

方法名 说明
PrintWriter(File file) 使用指定文件创建不具有自动行刷新的新 PrintWriter。
PrintWriter(OutputStream out) 根据现有的 OutputStream 创建不带自动行刷新的新 PrintWriter。
PrintWriter(OutputStream out, boolean autoFlush) 通过现有的 OutputStream 创建新的 PrintWriter。
PrintWriter(String fileName) 创建具有指定文件名称且不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out) 创建不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out, boolean autoFlush) 创建新 PrintWriter。自动刷新
//案例:

import java.awt.datatransfer.FlavorEvent;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
public class Demo13 {
    public static void main(String[] args) throws Exception {
       File file = new File("file/a.txt");
        //PrintWriter printWriter = new PrintWriter(file);
       FileOutputStream fileOutputStream = new FileOutputStream(file);

        PrintWriter printWriter =  new PrintWriter(fileOutputStream,true);
        //PrintWriter printWriter = new PrintWriter(System.out);

        printWriter.println("所说的发生发撒打发十分大");
    }
}

标签:字符,PrintWriter,Java,java,bufferedWriter,过滤,File,import,new
来源: https://www.cnblogs.com/lsm-boke/p/14932762.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有