java中的FileWriter和BufferedWriter缓冲区问题

问题描述

java中的FileWriter和BufferedWriter缓冲区问题

求大神解答!!
java io的FileWriter类中有缓冲区么?自己测试了其中的write方法也可以写入一个字符串,并非一个字符一个字符的写入。那为什么还需要BufferedWriter呢?BufferWriter可以将字符存在缓冲区内减少写入次数的优点不就没有了么

解决方案

Java 在IO操作中,都会有一个缓冲区的,它们不同在于缓冲区的大小。BufferWriter更合理的使用缓冲区,在你对大量的数据时,FileWrite的效率明显不如BufferWriter。

解决方案二:

BufferedWriter中的缓冲区问题

解决方案三:

Java 在IO操作中,都会有一个缓冲区的,它们不同在于缓冲区的大小。BufferWriter更合理的使用缓冲区,在你对大量的数据时,FileWrite的效率明显不如BufferWriter。

解决方案四:

相同点:都是使用字符流写文件。
不同点:前者采用缓冲区,可以预读一些准备写入的数据,增加写入文件时的效率,
    而后者则没有这个功能。具体的在BufferedWriter的API DOC中有说明。

时间: 2024-08-01 01:12:46

java中的FileWriter和BufferedWriter缓冲区问题的相关文章

io流-Java中OutputStreamWriter和BufferedWriter的缓冲区有什么区别?

问题描述 Java中OutputStreamWriter和BufferedWriter的缓冲区有什么区别? 经过试验,OutputStreamWriter在写文件的时候是有缓冲区的,这个缓冲区和BufferedWriter类的缓冲区在使用上有什么区别?(除了WriterLine这点区别) 也就是说,实际上BufferedWriter类和BufferedReader类都有两层缓冲区,这两层缓冲区的作用分别是什么呢? 先谢过各位大神了! 解决方案 首先OutputStreamWriter和Buffe

Java中BufferedReader与BufferedWriter类的使用示例_java

BufferedReaderBufferedReader 是缓冲字符输入流.它继承于Reader. BufferedReader 的作用是为其他字符输入流添加一些缓冲功能. 创建BufferReader时,我们会通过它的构造函数指定某个Reader为参数.BufferReader会将该Reader中的数据分批读取,每次读取一部分到缓冲中:操作完缓冲中的这部分数据之后,再从Reader中读取下一部分的数据. 为什么需要缓冲呢?原因很简单,效率问题!缓冲中的数据实际上是保存在内存中,而原始数据可能是

Java中IO流缓冲区的装饰模式的体现

一.Java中IO流缓冲区 import java.io.*; public class BufferedTest {public static void copy1(){InputStream is = null;OutputStream os = null;try{is = new FileInputStream("c:\\xy1.jpg");os = new FileOutputStream("d:\\xy2.jpg");int len = 0;byte[]

java中为什么BufferedWriter 要比 FileReader高效?

问题描述 java中为什么BufferedWriter 要比 FileReader高效? BufferedWriter 为什么比用FileReader每次读一个字符数组高效?FileReader每次读一个字符数组不是缓冲吗? 解决方案 给你找到答案了,同时我也学习了一下.https://www.zhihu.com/question/29351698

编码-Java中的BufferedWriter写字符

问题描述 Java中的BufferedWriter写字符 void write(int c) 写入单个字符. BufferedWriter有上述这样的一个方法,那么这样写入文件会以什么编码形式写入文件?可以指定特定的编码吗?比如GBK 解决方案 char 是确定的,两个字节,Unicode的 解决方案二: char不存在什么编码,只有string才有编码.一个char就是一个确定的值. 解决方案三: 你说的可能是指的是把字符串(单个字符构成的字符串)转换为字符,那么你可以用getByteshtt

io流-java中的IO流使用情况

问题描述 java中的IO流使用情况 java中有很多读取和写入文件的操作 像FileWirter Writer Reader BufferWriter 等 我一直区分不清这几个的特点,有没有大神帮忙处理下,通常什么情况使用什么比较好.各有那些优点和缺点 解决方案 你可以上网搜索哦下,很多的 解决方案二: 有的有缓冲区,有的没有,有的没有:有的可以操纵字符文件,有的可以操纵字节文件,你可以按照这个进行分类 解决方案三: 这是我自己整理的,你可以参考下http://blog.csdn.net/ev

java中的new BufferedReader(new InputStreamReader(System.in))

流 JAVA /IO 基本小结  通过一行常见的代码讨论:new BufferedReader(new InputStreamReader(System.in))   java的IO是基于流(stream)概念的,什么是流呢,作为初学者, 我是这样理解的,在各个应用之间传送的是BITS,这些BIT可已被认为是流体,可以就认为是水流,那么用来在各个水源之间转移水的工具应该选择什么呢?一般情况下,水管是可以的,所以数据我将数据源比作水源,将流对象比作水管 这样就有了对流的第一步认识,它再也不神秘了.

Java中IO流,输入输出流概述与总结

总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类: 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据)   根据数据流向的不同分为输入流和输出流:   根据处理数据类型的不同分为字符流和字

java中的Io(input与output)操作总结(一)_java

所谓IO,也就是Input与Output的缩写.在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写 其他知识点将放置后续章节(我想,文章太长了,谁都没耐心翻到最后) 对于文件内容的操作主要分为两大类 分别是: 字符流 字节流 其中,字符流有两个抽象类:Writer Reader 其对应子类FileWriter和FileReader可实现文件的读写操作 BufferedWriter和BufferedReader能够提供缓冲区功能,用以提高效率 同样,字节流也有两个抽象类:Input