BufferedReader和BufferedWriter那和哪的区别和用法 及用法

BufferedReader和BufferedWriter复制文件。求解?【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:666,529贴子:
BufferedReader和BufferedWriter复制文件。求解?收藏
import java.io.BufferedRimport java.io.BufferedWimport java.io.FileRimport java.io.FileWimport java.io.IOEpublic class CopyFileTest {public static void main(String[] args) throws IOException {FileReader fr=new FileReader("f:\\myDoc\\s1.txt");BufferedReader br=new BufferedReader(fr);FileWriter fw=new FileWriter("f:\\myDoc\\s2.txt");BufferedWriter bw=new BufferedWriter(fw);String line=br.readLine();while(line!=null){bw.write(line);bw.newLine();bw.flush();line=br.readLine();}}}运行完机子直接死机。
2017java学习来上市公司博为峰学java,入学即签就业协议,不就业不收费,查看java课程!java好学吗?java课程来博为峰学,java工程师就业年薪十几万!
之前都写的没错 直到String那句 就不咋滴, 也是错在那。只想问,你是谁教的。。
你没有终止吧
你这个是死循环
登录百度帐号推荐应用java IO字符流 缓冲区类BufferedWriter与BufferedReader的用法 - Frank-Shaw的专栏 - CSDN博客
java IO字符流 缓冲区类BufferedWriter与BufferedReader的用法
虽然在Reader父类与Writer父类中已经有了可以自己构造缓冲区并批量读取的方法(char[]&cbuf, int&off,
int&len)、(char[]&cbuf, int&off, int&len);其中的cbuf字符数组就是缓冲区,但是java中已经为我们封装好了缓冲区类BufferedWriter与BufferedReader。我们来看看BufferedWriter的定义:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。可以指定缓冲区的大小,或者接受默认的大小。BufferedReader定义类似。那么我们就来试试怎么用两个缓冲区类。代码如下:
* @Title: IObufferDemo.java
* @Package IOBuffer
* @Description: TODO(介绍IO类中缓冲区类Buffer的用法)
* @author Shaw
* @date 日 下午7:54:50
* @version V1.0
package IOB
import java.io.BufferedR
import java.io.BufferedW
import java.io.FileNotFoundE
import java.io.FileR
import java.io.FileW
import java.io.IOE
public class IObufferDemo {
* @throws IOException
* @Title: main
* @Description: TODO(介绍IO类中缓冲区类Buffer的用法)
* @param @param args
public static void main(String[] args) throws IOException {
bufferWriterShow();
bufferReaderShow();
public static void bufferWriterShow() throws IOException {
// TODO Writer方法展示
FileWriter fw = new FileWriter(&buf.txt&);
//为了提高效率,使用字符流的缓冲区。
BufferedWriter bufw = new BufferedWriter(fw);
bufw.write(&balbljbidfe&);
bufw.newLine();
bufw.write(&dddddddd&);
//使用缓冲区的刷新方法将数据刷到目的地中
bufw.flush();
//关闭缓冲区。其实关闭的就是被缓冲的流对象。
//缓冲区仅提高效率
bufw.close();
public static void bufferReaderShow() throws IOException {
// TODO Reader方法展示
FileReader fr = new FileReader(&buf.txt&);//从外设中读取文件数据,该文件必须存在
//为了提高效率,使用字符流的缓冲区。
BufferedReader bufr = new BufferedReader(fr);
//尝试BufferedReader中的方法readLine();
String line =
while((line = bufr.readLine())!=null){
System.out.println(line);
我们看到基本上和FileReader与FileWriter类没啥区别。有意思的一点是BufferedWriter类中有一个newLine()函数以及BufferedReader类中的readLine()函数。newLine()函数表示的是换行功能,readLine()函数表示的是读取文件中的一行的功能。这给我们在操作中提供了便利。我们来分析分析readLine()方法的具体操作过程:
首先,在生成缓冲区对象bufr(BufferedReader bufr = new BufferedReader(fr);)的同时,系统会调用bufr.read(buf);将硬盘中的数据部分读入到内存缓冲区中。此时bufr.read()方法(已经复写了父类Reader中的read()方法)即是从内存中读取数据,而父类Reader中的read()是从硬盘中读取数据,相比之下bufr.read()方法高效很多。那么,此时的readLine()方法如何读取一行的呢?实际上,在调用readLine()方法时候,该方法会调用一个临时容器(如StringBuilder),暂时存储通过bufr.read()方法从内存中得到的字符,在读取到换行字符的时候,该临时容器不再存入,而是直接输出(如图所示的字符串“abc”).
我的热门文章温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
不该茫然也茫然,心中无事心也烦。凡事终究有时尽,可我依旧心茫然。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(1788)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_082',
blogTitle:'socket 使用BufferedReader,BufferedWriter的问题',
blogAbstract:'服务器端读入流部分代码:System.out.println(new BufferedReader(new InputStreamReader(socket.getInputStream())).readLine());客户端写入流部分代码BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));&&&&&&&&&& &writer.write(content);writer.flush();程序运行时出现阻塞原因分析:服务器端使用了re',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:7,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'不该茫然也茫然,心中无事心也烦。凡事终究有时尽,可我依旧心茫然。',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 good和well的用法区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信