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基础总结第二篇 ...
随机推荐
- [模仿][JS]新浪财经7*24直播
使用新浪财经7*24直播的数据 简单的做一个山寨品 在线地址:[痛苦啊,有GFW,却没有vpn,往heroku上传浪费了好多时间...] http://wangxinsheng.herokuapp.c ...
- 某网SQL注入漏洞实战
root@kali:~# sqlmap -u http://dn.you.com/shop.php?id=10 -v 1 --dbs available databases [8]: [*] ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q81-Q84)
Question 81You need to create a Web Part that creates a copy of the out-of-the-box Contribute permis ...
- IOS程序开发中-跳转到 发送短信界面 实现发短信
前言:我发现我标题取的不好,谁帮我取个承接上下文的标题?评论一下,我改 项目需求:在程序开发中,我们需要在某个程序里面发送一些短信验证(不是接收短信验证,关于短信验证,传送门:http://www.c ...
- 【读书笔记】iOS-UIWindow-密码框
一,工程结构,如下图所示: 二,代码 PasswordInputWindow.h #import <UIKit/UIKit.h> @interface PasswordInputWindo ...
- Cocos2d入门--3--向量的应用
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 原生JS获取各种高度宽度、浏览器窗口滚动条的位置、元素的几何尺寸名
1)关于 pageX, clienX,offsetX,layerX pageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化 clientX:鼠标在页面上可视区域的位 ...
- [转]Linux下的Makefile
Makefile 介绍——————— make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序. 首先,我们用一个示例来说明Makefile的书写规则.以便 ...
- JMeter源码集成到Eclipse
由于JMeter纯Java开发,界面也是基于Swing或AWT搞出来的,所以想更深层次的去了解这款工具或对于想了解JMeter插件开发或二次开发的童鞋们来说,读读JMeter的源码估计是必不可少的,所 ...
- 基于git的工作流程
本文针对的是追求极致.快速的产品响应团队的.以下的观点和内容都是围绕这个主题,暂时不涉及个人学习和团队学习. 在说工作流程之间,想说一下我们平常工作中遇到的一些困惑或者说现象 在一个团队里,同时有好多 ...