所以,FileWriter和BufferedWriter的真正区别在哪
所以,FileWriter和BufferedWriter的真正区别在哪
网上关于两者区别的内容挺多的,但很多表述都及其不准确,很容易被误导。不过好在也有些厉害的博主做了很细致的分析,这里我总结了一下,加上自己的思考,这里贴出“标准答案”,欢迎讨论!
- FileWriter和BufferWriter写入的都是字符流
- FileWriter和BufferWriter都有缓冲区,FileWriter的缓冲区大小是8192个字节,BufferWriter缓冲区大小是8192个字符(说两者的区别在于BufferWriter有缓冲区而FileWriter没有缓冲区的是在放屁!)
- FileWriter和BufferWriter调用write方法时都没有真正往硬盘里写数据,存入的都是缓冲区,只有调用flush或者close时才会刷新缓冲区并写入硬盘
- FileWriter每次调用write()方法,就会调用一次OutputStreamWriter中的write()方法,而BufferedWriter只有在缓冲区满了才会调用OutputStreamWriter中的write()方法。仔细看OutputStreamWriter方法介绍,它是用于给字符转码的,并且会在缓冲区累积。这两句话是重点了,FileWriter每调用一次write就会进行一次转码,而BufferedWriter只有在缓冲区满了才会转码,这才是BufferedWriter高效的真正原因;在缓冲区累积则代表他们并不是write一次就输出,而是flush或者close才进行写入硬盘(有些人说FileWriter每执行一次write就进行一次写操作,而BufferWriter缓冲区满了才执行写操作也是在放屁!)
有两篇很好的博客可以看一看
https://www.cnblogs.com/xjyh/p/4529809.html
https://www.jianshu.com/p/49b23f49814c
所以,FileWriter和BufferedWriter的真正区别在哪相关推荐
- FileWriter和BufferedWriter用处,区别
File file = new File("d:/test2.txt");try{FileWriter fw = new FileWriter(file);BufferedWrit ...
- writer在java中的意思_Java在FileWriter和BufferedWriter之间的区别
小编典典 如果您使用BufferedWriter则效率更高 在刷新/关闭之间有多次写入 与缓冲区大小相比,写操作较小. 在您的示例中,您只有一次写入,因此BufferedWriter只会增加您不需要的 ...
- java文本写入方法(PrintStream,FileWriter,BufferedWriter)
PrintStream(字节打印流) PrintStream 是打印输出流,它继承于FilterOutputStream. PrintStream 永远不会抛出 IOException:它产生的IOE ...
- filewriter 写入html,分别用FileWriter和BufferedWriter往文件中写入
import java.io.*; import java.util.Random; public class Exer6_4 { public static void UseFileWriter() ...
- Java IO(五)——字符流进阶及BufferedWriter、BufferedReader
一.字符流和字节流的区别 拿一下上一篇文章的例子: 复制代码 复制代码 1 package com.demo.io; 2 3 import java.io.File; 4 import java.io ...
- Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter
Java IO流学习总结四:缓冲流-BufferedReader.BufferedWriter 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/det ...
- Java-Java I/O 字节流之BufferedReader/BufferedWriter
概述 Reader InputStreamReader FileReader and BufferedReader Writer OutputStreamWriter FileWriter and B ...
- java缓冲流,BufferedReader,BufferedWriter 详解
缓冲流,BufferedReader,BufferedWriter 1)BufferedReader,BufferedWriter是更高级的流,二者的源和目的地必须是字符输入流和字符输出流.如果把字符 ...
- java结果写入html,java - 将长字符串写入HTML文件,InputStream vs FileWriter vs BufferedReader - 堆栈内存溢出...
我对执行此操作的最佳方法有些困惑. 我在SO上看到了很多示例,许多答案有不同的解决方案. 因此,我想知道将非常长的字符串写入新的html文件的最有效方法(即,从字符串中生成html文件). 并且真的可 ...
- JavaIO BufferedReader和BufferedWriter介绍和实例
BufferedReader和BufferedWriter简介 为了提高字符流读写的效率,引入了缓冲机制,进行字符批量的读写,提高了单个字符读写的效率.BufferedReader用于加快读取字符的速 ...
最新文章
- 用好这几款炼丹利器,调参从此得心应手
- Hadoop Hive迁移至MaxCompute
- 【转:SAP PS】 创建项目Project
- .net调用c++方法时如何释放c++中分配的内存_C/C++编程笔记:C语言编程知识要点总结!大一C语言知识点(全)...
- 弹出框 每次打开 滚动条置顶_微信置顶文字怎么弄?微信置顶一句话教程
- python tkinter下载器_下载小说还要去找网站?Python使用tkinter打造一个小说下载器...
- solaris下修改 IPMP 配置
- Rails下cloud datastore的使用
- leetcode - 1025. 除数博弈
- 2016版系统集成项目管理工程师下午案例分析考试范围
- 基于主机的入侵检测优缺点_如何建立我们的网络防线?入侵检测,确保我们的网络安全...
- springboot 双缓存设计与使用
- Python 数据科学手册 5.6 线性回归
- wsimport 的使用问题
- (一〇二)静态库(.a)的打包
- 论文笔记_S2D.02-2013-CVPR-结合三维场景重建和类别分割
- 组织化视角的智慧城市
- 华硕笔记本电池软件_成色配置都还不错的二手华硕7代 i5 笔记本电脑 只卖1599元 想要的 快进来看看...
- 谈谈如何提升工作效率,需要从这4方面入手!
- 浙大玉泉校区路由器L2TP设置(极路由1s)
热门文章
- week15-作业题--字符串(hash、字典树、KMP)
- BZOJ 1260 paint
- 计算机实数表示法---浮点数(一)
- 博士的一天(备受打击版本)
- 计算机一级三维饼图,计算机考试excel制作复合饼图的方法
- 衣服的尺寸S、M、L、XL、XXL分别表示的型号大小顺序是什么?
- 微信大改版,时隔4年再次华丽转身。
- endnote快捷标注参考文献
- windows: 关于MsMpEng.exe导致“弹出USB大容量存储设备时出问题”
- Java中frame和panel区别,JFrame 和JPanel 的关系-区别(学习笔记)