java 21 - 8 复制文本文件的5种方式
需求:复制文本文件
分析:
由于文本文件我们用记事本打开后可以读懂,所以使用字符流。
而字符流有5种复制的方式:
首先写main方法
- public static void main(String[] args) throws IOException {
- // 数据源
- String startfile = "C:\\Users\\Administrator\\Desktop\\新建文件夹\\start.txt";
- // 目的地
- String endfile = "C:\\Users\\Administrator\\Desktop\\新建文件夹\\end.txt";
- //method1(startfile,endfile);
- //method2(startfile,endfile);
- //method3(startfile,endfile);
- //method4(startfile,endfile);
- method5(startfile,endfile);
- }
第一种方式:基本字符流一次读取一个字符
- private static void method1(String startfile,String endfile) throws IOException {
- // 基本字符流一次读写一个字符
- //封装数据源
- FileReader fr = new FileReader(startfile);
- //封装目的地
- FileWriter fw = new FileWriter(endfile);
- //一次读写一个字符
- int ch = 0;
- while((ch = fr.read()) != -1){
- fw.write(ch);
- }
- //释放资源
- fr.close();
- fw.close();
- }
第二种方式:基本字符流一次读取一个字符数组
- private static void method2(String startfile, String endfile) throws IOException {
- // 基本字符流一次读写一个字符数组
- FileReader fr = new FileReader(startfile);
- FileWriter fw = new FileWriter(endfile);
- char[] ch = new char[1024];
- int len = 0;
- while((len = fr.read(ch)) != -1){
- fw.write(ch,0,len);//这里需要注意
- }
- fr.close();
- fw.close();
- }
第三种方式:缓冲字符流一次读取一个字符
- private static void method3(String startfile, String endfile) throws IOException{
- // 字符缓冲流一次读取一个字符
- BufferedReader br = new BufferedReader(new FileReader(startfile));
- BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
- int ch = 0;
- while((ch = br.read()) != -1){
- bw.write(ch);
- }
- br.close();
- bw.close();
- }
第四种方式:缓冲字符流一次读取一个字符数组
- private static void method4(String startfile, String endfile) throws IOException {
- // 字符缓冲流一次读取一个字符数组
- BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
- BufferedReader br = new BufferedReader(new FileReader(startfile));
- char[] ch = new char[1024];
- int len = 0;
- while((len = br.read(ch)) != -1){
- bw.write(ch,0,len);
- }
- br.close();
- bw.close();
- }
第五种方式:缓冲字符流一次读取一个字符串(熟练掌握)
- private static void method5(String startfile, String endfile) throws IOException {
- // 字符缓冲流一次读取一个字符串
- BufferedReader br = new BufferedReader(new FileReader(startfile));
- BufferedWriter bw = new BufferedWriter(new FileWriter(endfile));
- String line = null;
- while((line = br.readLine()) != null){
- bw.write(line);
- bw.newLine();
- }
- br.close();
- bw.close();
- }
java 21 - 8 复制文本文件的5种方式的更多相关文章
- java 21 - 9 复制图片的4种方式
需求:复制图片 分析: 因为图片我们用记事本打开后无法读懂,所以用字节流 并且字节流复制有4种方式,所以我们尝试4种方式. 推荐第四种:缓冲字节流一次读取一个字节数组 首先写main方法: publi ...
- Java基础知识强化之IO流笔记43:IO流练习之 复制文本文件的 5 种方式案例
1. 案例分析: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字符流更方便一些. 而字符流有5种方式,所以做这个题目我们有5种方 ...
- Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例
1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...
- Java反射获取class对象的三种方式,反射创建对象的两种方式
Java反射获取class对象的三种方式,反射创建对象的两种方式 1.获取Class对象 在 Java API 中,提供了获取 Class 类对象的三种方法: 第一种,使用 Class.forName ...
- js 复制文本的四种方式
js 复制文本的四种方式 一.总结 一句话总结:js文本复制主流方法:document的execCommand方法 二.js 复制文本的四种方式 纯 转载复制,非原创 原地址:http://www.c ...
- mysql复制表的两种方式
mysql复制表的两种方式. 第一.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 或者 create table 新表 like 旧表 第二 ...
- Java使用基本字节流OutputStream的四种方式对于数据复制(文本,音视频,图像等数据)
//package 字符缓冲流bufferreaderDemo; import java.io.BufferedOutputStream; import java.io.FileInputStream ...
- Java数组声明与拷贝的几种方式
Java数组声明的三种方式 第一种(声明并初始化): 数据类型[] 数组名={值,值,...}; 例:int[] a = {1,2,3,4,5,6,7,8}; ...
- 总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇
本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...
随机推荐
- springmvc+mybatis+spring 整合
获取[下载地址] [免费支持更新]三大数据库 mysql oracle sqlsever 更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] ...
- Android从零开始——Android开发环境的安装
Android开发环境的安装 1 IDE Android可以使用开发的IDE有Eclipse 或者 Android Studio.Android Studio还处于v 0.1.x版本,是early a ...
- How-to: disable the web-security-check in Chrome for Mac
When I try to test one web app in coperate intranet, there is always some error like "Failed to ...
- HillStone上网认证客户端
公司上网认证服务器从原来网康变更成山石(HillStone),原来网康是有认证客户端的,运行在系统托盘区,现在的Hillstone是通过网页页面认证的,要上网,这个认证页面就需要一直打开在那里.碰到异 ...
- 其他图片和webP之间相互转换
WebP 是谷歌研发出来的一种图片数据格式,它是一种支持有损压缩和无损压缩的图片文件格式,派生自图像编码格式 VP8.根据 Google 的测试,无损压缩后的 WebP 比 PNG 文件少了 45% ...
- Linux0.11内核剖析--初始化程序(init)
1.概述 在内核源代码的 init/目录中只有一个 main.c 文件. 系统在执行完 boot/目录中的 head.s 程序后就会将执行权交给 main.c.该程序虽然不长,但却包括了内核初始化的所 ...
- iOS 工厂方法模式
iOS工厂方法模式 什么是工厂方法模式? 工厂方法模式和简单工厂模式十分类似,大致结构是基本类似的.不同在于工厂方法模式对工厂类进行了进一步的抽象,将之前的一个工厂类抽象成了抽象工厂和工厂子类,抽象工 ...
- IOS Quartz2D简介
Quartz2D 简介( 后续会有相关应用) 第一部分 绘制直线 代码示例: - (void)drawRect:(CGRect)rect{ //获取图形上下文 CGContextRef cxConte ...
- Unity3D事件函数的执行顺序 - 包含渲染等模块的完整版,中英文对照
原文地址: http://www.cnblogs.com/ysdyaoguai/p/3746828.html In Unity scripting, there are a number of eve ...
- android 定制自己的日志工具
最理想的情况是能够控制日志的打印,当程序处于开发阶段就让日志打印出来,当程序上线之后就把日志屏蔽掉. 例如打印一行WARN级别的日志就可以写成这样: LogUtil.w("TAG" ...