问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA TXT字符流复制代码问题

发布网友 发布时间:2022-05-15 00:19

我来回答

2个回答

热心网友 时间:2023-11-12 21:46

File file=new File("E:\\1.txt");//创建文件对象,

FileInputStream fread; //FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。

BufferedInputStream reader=null;

BufferedOutputStream write=null; //该类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必针对每次字节写入调用底层系统。

try
{
fread = new FileInputStream(file);//将文件对象添加到文件的输入流,也就是你要从你的数据源开始读取数据

reader=new BufferedInputStream(fread);//将字节流对象添加到缓存区中,这样效率要高一点

String str=null;//初始化字符串这样保存的是读取的一行的数据

write=new BufferedOutputStream(new FileOutputStream(new File("E:\\2.txt")));//创建的是输出流缓存 请要输出的目的地添加到缓存区中,

byte b[]=new byte[1024];//定义每次读取的字节的范围,也是存储数据的容器

int i=0;

while((i=reader.read(b))!=-1) //下一个数据字节,如果到达流末尾,则返回 -1。
{
write.write(b);//开始写入数据
}
}
catch (FileNotFoundException e) //如果没有文件打印该异常
{
e.printStackTrace();
}
catch (IOException e) //如果出现io异常 也就处理异常
{
e.printStackTrace();
}
finally//最后不管读取还是没读取成功都释放资源
{
try
{
write.close();//关闭缓存区,关闭缓存区会自动关闭相应的io流
reader.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}

热心网友 时间:2023-11-12 21:46

上面代码是可执行的,而且已经实现了1.txt内容复制到2.txt中。不过代码太冗余了,下面有以前代码的注释,也有推荐使用的新代码注释。
int bytesum = 0;
int byteread = 0;

// File file=new File("N:\\1.txt");

// FileInputStream fread; //FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。
//
// BufferedInputStream reader=null;
//
// BufferedOutputStream write=null; //该类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必针对每次字节写入调用底层系统。

try
{
// fread = new FileInputStream(file); //获取文件的输入流
//
// reader=new BufferedInputStream(fread); //BufferedInputStream对外提供滑动读取的功能实现 具体可百度
//
// String str=null;
//
// write=new BufferedOutputStream(new FileOutputStream(new File("N:\\2.txt"))); //创建输出流
//
// byte b[]=new byte[1024];
//
// int i=0;
//
// while((i=reader.read(b))!=-1) //下一个数据字节,如果到达流末尾,则返回 -1。
// {
// write.write(b);
// }
InputStream inStream = new FileInputStream(new File("N:\\1.txt")); //从输入流读取原文件
FileOutputStream fs = new FileOutputStream(new File("N:\\2.txt")); //将字节写入输出流即目标文件
byte[] buffer = new byte[1444];
int length;
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum += byteread; //获取字节数 文件大小
System.out.println(bytesum);
fs.write(buffer, 0, byteread); // 把源文件的字节写入目标文件
}
inStream.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
// finally
// {
// try
// {
// write.close();
// reader.close();
// }
// catch (IOException e)
// {
// e.printStackTrace();
// }
// }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...DE分别在BC AC上,且AE=CD,连接AD,BE交于点p 过B作BQ⊥AD Q为垂足... ...AC上的点,且AE=CD 连接AD BE 交于点P 作BQ垂 ...ac上的点,且ae=cd,连接ad、be交于点p作BQ⊥AD,垂足为Q,求证BP=2... ...AC上的点,且AE=CD,链接AD、BE交于点P,作BQ⊥AD ...AC上的点,且AE=CD,连结AD、BE交于点P,作BQ⊥AD,垂足为Q. ...刚刚大学毕业。由于生病,导致目前没有工作,大学四年的女友也因为我... 形容“荷花的特点”有什么词语 梦见比人还高大的石头蛤蟆,杀人拆房子。我和其他人一起翘辫子了._百度... 梦见别人送我一条蛇,我却把他不小心放了.可是我用石头打了它一下... 作文 我生活在鼓励中 小孩快5岁了,从1数到一百还不会,怎么回事? 怎样网上挂号? 网上怎样挂号 西门子洗衣机WB23UL080W是多少转速的? java实现:将一个记事本文件内容复制到另一个文件 西门子PLC认证标志中,有 CE FM UL,还有一个√N117,√ N117是什么标志,前面3个我都知道,求解释 攀枝花 芒果 攀枝花芒果为什么是硬的 西门子洗衣机ul和uq区别 有没有比较好的chm格式电子书阅读器(电脑用的)? 在农村有哪些方法使母鸡不抱窝,让抱窝母鸡及时醒抱? qq邮箱中有一封病毒信件怎么办?拜托各位大神 分享过优惠券会被封号吗? 我们2人同行网购2张火车票为什么只给改签1张 洗衣机不排水什么原因? 洗衣机不排水是怎么回事 内蒙古大学历史专业好调剂吗? 有关内大调剂的,谢谢 一只股票短线调整充分是什么意思? 内大哲学系往年有调剂吗 20年前的3万元贷款银行还会保留纸质资料吗 三岁前从1数到100,就是聪明的孩子吗 电脑一热就黑屏,键盘主机鼠标都是亮的 怎么回事 解不出大便的偏方 20年前的借款还可以起诉吗 二十年前的代款未还会不会上失信名单? 科顺防水材料好不好?如果做经销好做吗? 手机的wifi能用win7电脑却显示未识别的网络 女生做防水材料业务员好做吗 我的微信账号老被封,这次又封七天,怎么办 我是第一次被封,怎么过了7天还不能自助解封? 防水保温材料好做么,我是业务员 vip帧享为什么不能演 我的微信显示被封7天,账户中心显示朋友圈永久被封!有没有解封的? 为什么会员帧享视听一闪一闪的 奶茶怎么做才会很厚 吃韭菜蘸醋真的会长斑吗 求一个女生网名,要俏皮一点的,但不要花哨,六个字以内,简体字 你猜我喜欢喝芋泥奶茶还是芋圆奶茶咋回? 我要一杯芋泥什么什么奶茶最后来一个像他们做梦一样?