iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >缓冲字符流BufferedReader和BufferedWriter的用法
  • 357
分享到

缓冲字符流BufferedReader和BufferedWriter的用法

2023-06-20 17:06:12 357人浏览 独家记忆
摘要

本篇内容主要讲解“缓冲字符流BufferedReader和BufferedWriter的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“缓冲字符流BufferedReader和Buffered

本篇内容主要讲解“缓冲字符流BufferedReader和BufferedWriter的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“缓冲字符流BufferedReader和BufferedWriter的用法”吧!

缓冲字符流BufferedReader和BufferedWriter

问题:

之前的文件读写都是按照字节、字符或者数组来实现的,对于文本文件而言,能否按照行,一行行读写呢。

提供了BufferedReader和BufferedWriter实现按行读写

package com.bjsxt.iOS3;import java.io.*;public class TestBufferedReaderWriter {    public static void main(String[] args) throws IOException {        //1.创建流        BufferedReader br =                new BufferedReader(new FileReader("c:/RecorderSDKLog.txt"));        BufferedWriter bw =                new BufferedWriter(new FileWriter("c:/RecorderSDKLog2.txt"));        //2.使用流        String str = br.readLine();        while(str != null){            //输出当前行数据            System.out.println(str);            //写当前行数据到文件            bw.write(str);            //bw.write("\n");            bw.newLine();            //再读一行            str = br.readLine();        }        //3.关闭流        br.close();        bw.close();    }}

总结1:BufferedReader和BufferedWriter的优点

速度快

简化编程

总结2:readLine()底层的原理

底层还是一个一个字符的读取,append()放入到StringBuilder(或者char[] )中,遇到换行符 ,将StringBuilder(char[])转换成String并返回

总结3:不同的操作系统中换行符是不同的

Unix系统里,每行结尾只有“<换行>”,即“\n”;

windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;

Mac系统里,每行结尾是“<回车>”,即“\r”。

BufferedReader和BufferedWriter 性能较好的原因

原理:

BufferedReader会一次性从物理流中读取8k(默认数值,可以设置)字节内容到内存,如果外界有请求,就会到这里存取,如果内存里没有才到物理流里再去读。即使读,也是再8k。

而直接读物理流,是按字节来读。

对物理流的每次读取,都有IO操作。IO操作是最耗费时间的。

BufferedReader就是减少了大量IO操作,而为你节省了时间。

简单的说,一次IO操作,读取一个字节也是读取,读取8k个字节也是读取,两者花费时间相差不多。而一次IO的来回操作却要耗费大量时间。

好比是一辆大型汽车(设装100人),要去车站接人到公司,接一个人也是接,接100个人也是接,而时间一样。显然,接100个人最划算。

物理流就是一次一个字节(一个人)

Buffered就是一次8k个字节(100个人)

对于读取定长字节文件,当然BufferedReader更快了!

到此,相信大家对“缓冲字符流BufferedReader和BufferedWriter的用法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 缓冲字符流BufferedReader和BufferedWriter的用法

本文链接: https://www.lsjlt.com/news/298525.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 缓冲字符流BufferedReader和BufferedWriter的用法
    本篇内容主要讲解“缓冲字符流BufferedReader和BufferedWriter的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“缓冲字符流BufferedReader和Buffered...
    99+
    2023-06-20
  • 浅谈缓冲字符流 BufferedReader BufferedWriter用法
    缓冲字符流BufferedReader和BufferedWriter 问题: 之前的文件读写都是按照字节、字符或者数组来实现的,对于文本文件而言,能否按照行,一行行读写呢。 提供了B...
    99+
    2022-11-12
  • Java IO 学习总结(四)BufferedReader 缓冲字符流
    Java IO 学习总结(一)输入流/输出流 Java IO 学习总结(二)File 类 Java IO 学习总结(三)BufferedInputStream Java IO 学习总结(四)Buffe...
    99+
    2023-09-27
    java 学习 缓存
  • Java字符缓冲流怎么使用
    这篇文章主要介绍“Java字符缓冲流怎么使用”,在日常操作中,相信很多人在Java字符缓冲流怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java字符缓冲流怎么使用”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-29
  • Java 轻松掌握字符缓冲流的使用
    目录一、字符缓冲流二、字符缓冲流的特有方法一、字符缓冲流 BufferedWriter:文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入。可以指定缓冲区大小,或者...
    99+
    2022-11-13
  • Java基础学习之字符缓冲流的应用
    目录一、字符缓冲流二、字符缓冲流复制Java文件三、字符缓冲流特有功能四、字符缓冲流特有功能复制Java文件一、字符缓冲流 字符缓冲流介绍: BufferedWriter:将文本写入...
    99+
    2022-11-13
  • java中字符流缓冲区的作用是什么
    本篇文章为大家展示了java中字符流缓冲区的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 为什么要缓冲区?程序频繁地操作一个资源(如文件),则性能会很低,此时为了提升性能,就可以将一...
    99+
    2023-05-31
    java 字符流缓冲区
  • JAVA中字符串常量池和缓冲池的作用是什么
    这篇“JAVA中字符串常量池和缓冲池的作用是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JAVA中字符串常量池和缓冲池...
    99+
    2023-06-29
  • Java字符串的定义和用法
    本篇内容介绍了“Java字符串的定义和用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 前言Java 基本类型可谓是 Java ...
    99+
    2023-06-15
  • python语法的缩进和字符转义用法
    本篇内容介绍了“python语法的缩进和字符转义用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!语句的缩进python 与 java 和 ...
    99+
    2023-06-02
  • python用reduce和map把字符串转为数字的方法
    python中reduce和map简介 map(func,seq1[,seq2...]) :将函数func作用于给定序列的每个元素,并用一个列表来提供返回值;如果func为None,func表现为身份函数,...
    99+
    2022-06-04
    字符串 数字 方法
  • logcat命令使用方法和查看android系统日志缓冲区内容的方法
    *注:可以用 adb logcat > 路径/文件名 来保存,此命令执行之时起的全部日志信息到一个文件里,ctrl + C 结束日志输出;后面不加 > 路径/文件名...
    99+
    2022-06-06
    缓冲 方法 logcat Android
  • Linux中Shell通配符、元字符和转义符的使用方法总结
    本篇内容介绍了“Linux中Shell通配符、元字符和转义符的使用方法总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说到shell通配符...
    99+
    2023-06-16
  • 字符常量:定义和用法的综合探讨
    什么是字符常量?了解字符常量的定义和用法,需要具体代码示例在编程中,字符常量是指在程序中使用的固定的值,通常是单个字符。字符常量在代码中有着重要的作用,常用于表示键盘上的各种字符,以及特殊的转义序列。字符常量的定义和用法字符常量可以使用两种...
    99+
    2023-12-27
    字符常量(Character Constant) 定义字符常量(Defining Character Constants
  • shell脚本字符串和数组的使用操作方法
    字符串 可以使用单引号和双引号定义字符串变量但是单引号中不支持变量解析 #! /bin/bash username="mayuan" str_1="hello ${username}" str_2='hello $...
    99+
    2022-06-04
    shell 字符串数组 shell 脚本字符串 shell 脚本数组
  • Java字符串和数组最常用的方法有哪些
    本篇内容介绍了“Java字符串和数组最常用的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、字符串截取1、slice方法返回字符...
    99+
    2023-06-04
  • php字符串的截取和查找,strstr、strpos、substr三个函数的用法
    1、strstr 解释:strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。 $email = '1235698556@qq....
    99+
    2023-09-02
    php 开发语言
  • python用模块zlib压缩与解压字符串和文件的方法
    python中zlib模块是用来压缩或者解压缩数据,以便保存和传输。它是其他压缩工具的基础。下面来一起看看python用模块zlib压缩与解压字符串和文件的方法。话不多说,直接来看示例代码。 例子1:压缩与...
    99+
    2022-06-04
    字符串 模块 文件
  • linux下使用sed命令查找和替换文件中字符串的方法
    这篇文章主要讲解了“linux下使用sed命令查找和替换文件中字符串的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下使用sed命令查找和替换文件中字符串的方法”吧!sed 命...
    99+
    2023-06-16
  • Linux系统中tr命令删除和替换文本字符的使用方法
    本篇内容介绍了“Linux系统中tr命令删除和替换文本字符的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!通过使用 tr,您可以非常...
    99+
    2023-06-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作