当前位置: 首页 > news >正文

Java之字符流操作-复制文件

 

 1 package test_demo.fileoper;
 2 
 3 import java.io.*;
 4 
 5 /*
 6 * 字符输入输出流操作,复制文件
 7 * 使用缓冲流扩展,逐行复制
 8 * */
 9 public class FileReadWriteOper {
10     public static void main(String args[]) {
11         //字符流输入流
12         FileReader fr = null;
13         //字符流输出流
14         FileWriter fw = null;
15         //缓冲输入流
16         BufferedReader br = null;
17         //缓冲输出流
18         BufferedWriter bw = null;
19 
20         try {
21             fr = new FileReader(new File("C:\\testdata\\filedir\\a.txt"));
22             br = new BufferedReader(fr);   //扩容,类似加水管
23             fw = new FileWriter("C:\\testdata\\filedir\\c.txt");
24             bw = new BufferedWriter(fw);
25             //逐行复制
26             String line = br.readLine();
27             while (line != null) {
28                 bw.write(line);
29                 bw.newLine();  //换行输出
30                 line = br.readLine();
31             }
32             System.out.println("文件复制成功!");
33         } catch (IOException e) {
34             e.printStackTrace();
35         } finally {
36             try {
37                 //关闭流,顺序与打开相反
38                 bw.close();
39                 br.close();
40                 fw.close();
41                 fr.close();
42             } catch (IOException e) {
43                 e.printStackTrace();
44             }
45         }
46     }
47 }

 

转载于:https://www.cnblogs.com/gongxr/p/7992405.html

相关文章:

  • 判断是否长按某一键
  • 【Android】封装一个简单好用的打印Log的工具类
  • centos7 防火墙 开启端口 并测试
  • 设计模式
  • IDA.快捷键_ZC收集
  • 直接从google中引入jquery.js
  • Sql注入攻击
  • linux下vsftpd客户端时间不一致问题
  • 3.2 使用STC89C52控制MC20发送短信
  • POJ 2823 Sliding Window 单调队列
  • 别人做的扫地机器人,有机会我也想搞一台!
  • backgroundworker与Thread区别
  • 数据类型--字符串
  • 如果在BackgroundWorker运行过程中关闭窗体…
  • [TestLink]testlink安装
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 30天自制操作系统-2
  • ES6 学习笔记(一)let,const和解构赋值
  • Java基本数据类型之Number
  • js中forEach回调同异步问题
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • maya建模与骨骼动画快速实现人工鱼
  • vue脚手架vue-cli
  • 二维平面内的碰撞检测【一】
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 使用Swoole加速Laravel(正式环境中)
  • 智能合约开发环境搭建及Hello World合约
  • - 转 Ext2.0 form使用实例
  • #1015 : KMP算法
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .gitignore文件设置了忽略但不生效
  • .net MySql
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET分布式缓存Memcached从入门到实战
  • .NET开源项目介绍及资源推荐:数据持久层
  • .net连接oracle数据库
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .net中调用windows performance记录性能信息
  • @RequestMapping处理请求异常
  • @RequestMapping-占位符映射
  • [ NOI 2001 ] 食物链
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [20171106]配置客户端连接注意.txt
  • [android] 切换界面的通用处理
  • [Angular] 笔记 18:Angular Router
  • [autojs]autojs开关按钮的简单使用
  • [BUUCTF 2018]Online Tool(特详解)
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [C#C++]类CLASS
  • [codeforces]Levko and Permutation