java 使用Reader和Writer对文件内容的拷贝
2016-03-07 15:52
686 查看
package com.hc.fileio;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
/**对文件内容的拷贝
* @author MaskedMen
*Reader和Writer只能读写字符流
*/
public class ReaderWriter {
public static void main(String[] args) {
ReaderWriter readerWriter = new ReaderWriter();
try {
//fileOutputStream.fileCopy("D:\\hh1.txt", "D:\\hh2.txt", 1024,false);
readerWriter.fileCopy("D:\\hh1.txt", "D:\\hh2.txt", 1024,true);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* @param orgFile 源文件路径
* @param desFile 目标文件路径
* @param buffLength 缓存区大小
* @param isApend 表示是否将拷贝的内容追加在目标文件的内容的后面
* @throws IOException
*/
public void fileCopy(String orgFile,String desFile,int buffLength,boolean isApend) throws IOException{
File orgfile = new File(orgFile);
File desfile = new File(desFile);
if(!orgfile.exists()){//若源文件不存在,则返回
return;
}
if(desfile.exists()&&!isApend){//若不追加则将目标文件删除
desfile.delete();
}
desfile.createNewFile();//创建目标文件
Reader reader = new FileReader(orgfile);
Writer writer = new FileWriter(desfile,isApend);//isApend为true时 内容追加在目标文件的内容的后面
char[] buffer = new char[buffLength];
int length=-1;
while((length=reader.read(buffer))!=-1){ //不返回-1则说明有内容,则继续向下读
String strBuffer = new String(buffer,0,length);
writer.write(strBuffer);
}
writer.flush();//关闭之前,必须冲刷,不然无法写入
writer.close();
reader.close();
}
}
本文出自 “MaskedMen” 博客,请务必保留此出处http://maskedmen.blog.51cto.com/8100866/1748422
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
/**对文件内容的拷贝
* @author MaskedMen
*Reader和Writer只能读写字符流
*/
public class ReaderWriter {
public static void main(String[] args) {
ReaderWriter readerWriter = new ReaderWriter();
try {
//fileOutputStream.fileCopy("D:\\hh1.txt", "D:\\hh2.txt", 1024,false);
readerWriter.fileCopy("D:\\hh1.txt", "D:\\hh2.txt", 1024,true);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* @param orgFile 源文件路径
* @param desFile 目标文件路径
* @param buffLength 缓存区大小
* @param isApend 表示是否将拷贝的内容追加在目标文件的内容的后面
* @throws IOException
*/
public void fileCopy(String orgFile,String desFile,int buffLength,boolean isApend) throws IOException{
File orgfile = new File(orgFile);
File desfile = new File(desFile);
if(!orgfile.exists()){//若源文件不存在,则返回
return;
}
if(desfile.exists()&&!isApend){//若不追加则将目标文件删除
desfile.delete();
}
desfile.createNewFile();//创建目标文件
Reader reader = new FileReader(orgfile);
Writer writer = new FileWriter(desfile,isApend);//isApend为true时 内容追加在目标文件的内容的后面
char[] buffer = new char[buffLength];
int length=-1;
while((length=reader.read(buffer))!=-1){ //不返回-1则说明有内容,则继续向下读
String strBuffer = new String(buffer,0,length);
writer.write(strBuffer);
}
writer.flush();//关闭之前,必须冲刷,不然无法写入
writer.close();
reader.close();
}
}
本文出自 “MaskedMen” 博客,请务必保留此出处http://maskedmen.blog.51cto.com/8100866/1748422
相关文章推荐
- JAVA_OPTS参数说明与配置
- JAVA字符串类型-String.format()函数用法
- java内存模型
- 【java小工具】从.java文件中筛选出方法,并计算出方法在这些文件中出现的次数
- 【集合框架】JDK1.8源码分析之HashMap & LinkedHashMap迭代器(三)
- leetcode:Maximum Depth of Binary Tree 【Java】
- 查看Eclipse版本号,及各个版本区别
- Spring MVC之@RequestBody, @ResponseBody 详解
- [springmvc]返回ModelAndView,视图解析不到jsp,而是去解析“'请求路径'+ ‘.jsp’”
- Bug:java.lang.IllegalStateException
- osgi与流行的框架(spring,struts,hibernate等)的集成
- Eclipse中ndk配置及示例
- spring 定时器配置
- Springmvc 执行流程
- leetcode:Balanced Binary Tree 【Java】
- java中Scanner类读取文件或控制台输入
- Struts+Spring+Hibernate处理Lob(Blob,Clob)
- MyEclipse快捷键大全
- 深入理解JVM : Java堆中对象创建、布局、访问全过程
- (java) 四则运算(包含分数)