ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

BufferedReader_字符缓冲输入流和练习_对文本的内容进行排序

2022-07-14 14:35:16  阅读:186  来源: 互联网

标签:字符 文本 缓冲 BufferedReader new 排序 输入


BufferedReader_字符缓冲输入流

java.io.BufferedReader extends Reader

构造方法:

  BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流。

  BufferedReader(Reader in, int sz) 创建一个使用指定大小输入缓冲区的缓冲字符输入流。

  参数:

    Reader in:字符输入流

      我们可以传递FileReader,缓冲流会给FileReader增加一个缓冲区,提高FileReader的读取效率

特有的成员方法:

  String readLine() 读取一个文本行。读取一行数据

    行的终止符号:通过下列字符之一即可认为某行已终止:换行('\n')、回车('\r') 或回车后直接跟着换行(\r\n).

  返回值:

    包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾, 则返回 null

    private static void show08() throws IOException {
        //创建字符缓冲输入流对象,构造方法中传递字符输入流
        BufferedReader reader = new BufferedReader(new FileReader("F:\\a9.txt"));
        //使用字符缓冲输入流对象中的方法read/readLine读取文本
        String len;
        while ((len=reader.readLine())!=null){
            System.out.println(len);
        }
        reader.close();
    }

练习_对文本的内容进行排序

    private static void show09() throws IOException {
        //创建一个HashMap集合对象, 可以:存储每行文本的序号(1,2,3,...); value :存储每行的文本
        HashMap<String,String> map = new HashMap<>();
        //创建字符缓冲输入流对象,构造方法中绑定字符输入流
        BufferedReader br = new BufferedReader(new FileReader("F:\\a9.txt"));
        //创建字符缓冲输出流对象,构造方法中绑定字符输出流
        BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\a9.txt"));
        //使用字符缓冲输入流中的方法readline,逐行读取文本
        String line;
        while ((line = br.readLine())!=null){
            //对读取到的文本进行切割,获取行中的序号和文本内容
            String[] arr = line.split("\\.");
            //把切割好的序号和文本的内容存储到HashMap集合中(key序号是有序的,会自动排序1,2,3,4...)
            map.put(arr[0],arr[1]);
        }
        //遍历HashMap集合,获取每一个键值对
        for (String key : map.keySet()){
            String value = map.get(key);
            line = key+"."+value;
            bw.write(line);
            bw.newLine();
        }
        bw.close();
        br.close();
    }

排序好的:

 

搜索

复制

标签:字符,文本,缓冲,BufferedReader,new,排序,输入
来源: https://www.cnblogs.com/pengtianyang/p/16477534.html

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

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

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

ICode9版权所有