美文网首页
IO流之 字符流 BufferedReader,Buffered

IO流之 字符流 BufferedReader,Buffered

作者: 测试员 | 来源:发表于2019-08-17 22:17 被阅读0次

BufferedReader

*read():
    将字节转化成字符,一次性将若干字符读到缓存区,逐个返回给程序,降低读  文件的次数,提高效率。
*readLine():
    读取一行字符,不包括换行符。遇到结束标记返回 null;

BufferedWriter

*write():将字符转化成字节,方法写出字符时先写到缓冲区,缓冲区满时一次性写到文件上并清空缓冲区,降低写文件的次数,提高效率。
*newLine():
    输出一个可跨平台的回车换行符号。

可以生成带行号的输入流

*LineNumberReader,LineNumberInputStream。
    getLineNumber():获取行号;
    setLineNumber():设置起始行号;

使用指定码表读写字符

    例:(低效率)
    字节流转换字符流 fisr = new 字节流转换字符流(new 字节流("目标路径"),"指定编码");
    Eg: 
    InputStreamReader fisr = new InputStreamReader(new FileInputStream("aaa.txt"),"uutf-8");
    例:(高效率)再套个缓冲区
    缓冲区字符流 br = 缓冲区字符流(new 字节流转换字符流(new 字节流("目标路径"),"指定编码"));
    Eg: 
    BufferedReader br= BufferedReader(new InputStreamReader(new FileInputStream("aaa.txt"),"uutf-8"));

    package com.io.learn;
    
    import java.io.*;
    import java.util.ArrayList;

文件与集合转换练习

    public class 字符流练习 {
        public static void main(String[] args) throws ClassNotFoundException, IOException {
            final File target = new File("NewFile1.txt");
            final ArrayList<String> array = new ArrayList<>();
            array.add("我是一个粉刷匠");
            array.add("粉刷本领特别强");
            array.add("我要把那新房子");
            array.add("刷的非常的漂亮");
            listToFile(target,array);
            ArrayList<String> new_list = new ArrayList<>();
            fileToList(target,new_list);
            for (String elmt : new_list) {
                System.out.println("elmt = " + elmt);
            }
        }

集合转文件

        /**
        * 集合转文件
        * @param target
        * @param list
        */
        public static void listToFile(File target, ArrayList<String> list) {
            try (BufferedWriter writer = new BufferedWriter(new FileWriter(target))) {
                if (list != null && list.size() > 0) {
                    for (String  str : list) {
                        writer.write(str);
                        writer.newLine();
                        writer.flush();
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

文件转集合

        /**
        * 文件转集合
        * @param target
        * @param list
        */
        public static void fileToList(File target, ArrayList<String> list) {
            try (BufferedReader reader = new BufferedReader(new FileReader(target))) {
                String len;
                while((len = reader.readLine())!= null){
                    list.add(len);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    
    }

相关文章

  • IO流之 字符流 BufferedReader,Buffered

    BufferedReader BufferedWriter 可以生成带行号的输入流 使用指定码表读写字符 文件与集...

  • JAVA的字符流操作

    在IO流中对于带缓冲的字符流,我们可以使用BufferedReader的read()方法读取字符时会一次读取若干字...

  • BufferedReader

    BufferedReader是缓存流的一个类。 缓存流是计算机领域中输入输出流的一种常见形式。包括Buffered...

  • Java基础笔记21

    21.01_IO流(字符流FileReader) 1.字符流是什么字符流是可以直接读写字符的IO流字符流读取字符,...

  • Java IO流之字符流

    ①IO流(字符流FileReader) 1.字符流是什么字符流是可以直接读写字符的IO流字符流读取字符, 就要先读...

  • IO(字符流)&字符流其他内容&递归

    day21(IO(字符流)&字符流其他内容&递归) 1_IO流(字符流FileReader) 1.字符流是什么字符...

  • IO中的BufferedWriter和BufferedReade

    IO中的BufferedWriter和BufferedReader以及读取时出现乱码的问题 1. Buffered...

  • Java 字符流字节流转换

    try-with-resource 自动释放资源Buffered 缓存字符流,字节流InputStreamRead...

  • Java I/O 流相关类介绍

    Java 的数据流分为 字符流和字节流。 实例://使用 BufferedReader 在控制台读取字符 以上实例...

  • 【Java基础】- IO流

    IO流简介 IO流 用于设备间进行数据传输的操作。 IO流可以分为字节流和字符流,也可以分为输入流和输出流。 字符...

网友评论

      本文标题:IO流之 字符流 BufferedReader,Buffered

      本文链接:https://www.haomeiwen.com/subject/akclsctx.html