复制文件

来源:互联网 发布:印度贫民窟 知乎 编辑:程序博客网 时间:2024/05/16 06:50
package java_0303_afternoon;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;import java.io.Writer;import java.util.Arrays;public class FileCopyDemo {public static void copyFile(File file, File file2){//文件类应该选择字节还是字符流呢?若文件是多媒体类型的文件(图片、音乐、视频),则只能使用字节流//若文件类型为文档文件(txt,doc等),则优先选择字符流//取出原来文件的所有内容Reader reader = null;Writer writer = null;try {reader = new FileReader(file);writer = new FileWriter(file2);//若不清楚文档字符总数,定义缓存数组大小最好设置为1024的倍数char[] cbuf = new char[1024];int len;//每次读取的字符数量/*//存储读取出来的所有内容StringBuilder builder = new StringBuilder();while ((len = reader.read(cbuf)) != -1) {if (len < cbuf.length) {//最后一次读取的数据不能填满缓冲数组builder.append(Arrays.copyOf(cbuf, len));} else {builder.append(cbuf);}}//把旧文件中的内容写入到新文件中writer.write(builder.toString());*///边读边写while ((len = reader.read(cbuf)) != -1) {//当前次读取的数据都已经保存到cbuf字符数组中writer.write(cbuf, 0, len);}System.out.println("复制文件结束");} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {reader.close();writer.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static void main(String[] args) {File file = new File("d:/1.txt");File file2 = new File("e:/1.txt");copyFile(file, file2);}}
//buffered
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;import java.io.Writer;public class CopyDemo {<span style="white-space:pre"></span><span style="white-space:pre"></span>public static void copyFile(File file,File file2){<span style="white-space:pre"></span>Reader reader=null;<span style="white-space:pre"></span>Writer writer=null;<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>reader=new FileReader(file);<span style="white-space:pre"></span>} catch (FileNotFoundException e) {<span style="white-space:pre"></span>// TODO Auto-generated catch block<span style="white-space:pre"></span>e.printStackTrace();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>writer=new FileWriter(file2);<span style="white-space:pre"></span>} catch (IOException e) {<span style="white-space:pre"></span>// TODO Auto-generated catch block<span style="white-space:pre"></span>e.printStackTrace();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>BufferedReader bufferedReader=new BufferedReader(reader);<span style="white-space:pre"></span>BufferedWriter bufferedWriter = new BufferedWriter(writer); <span style="white-space:pre"></span>String str=null;<span style="white-space:pre"></span>//int len;<span style="white-space:pre"></span>//char[] chars=new char[1024];<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>while((str=bufferedReader.readLine())!=null){<span style="white-space:pre"></span>bufferedWriter.write(str);<span style="white-space:pre"></span>bufferedWriter.newLine();<span style="white-space:pre"></span>bufferedWriter.flush();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>System.out.println("复制文件结束");<span style="white-space:pre"></span>} catch (IOException e) {<span style="white-space:pre"></span>// TODO Auto-generated catch block<span style="white-space:pre"></span>e.printStackTrace();<span style="white-space:pre"></span>}<span style="white-space:pre"></span><span style="white-space:pre"></span>}<span style="white-space:pre"></span><span style="white-space:pre"></span>public static void main(String[] args) {<span style="white-space:pre"></span>File file=new File("d:\\1.txt");<span style="white-space:pre"></span>File file2=new File("d:\\2.txt");<span style="white-space:pre"></span>copyFile(file,file2);<span style="white-space:pre"></span>}}


0 0
原创粉丝点击