java代码拷贝文件

来源:互联网 发布:软件行业人均销售额 编辑:程序博客网 时间:2024/06/05 05:21
package p333;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;public class PrintFileName {private static int copy_ok_count, copy_fail_count;private static String srcPathPrefix = "E:/rename", desPathPrefix = "E:/renameok/";private static String currentName;private static int printdotcnt;/** * 复制整个文件夹内容 *  * @param newPath *            String 复制后路径 如:f:/fqf/ff * @param oldPath *            String 原文件路径 如:c:/fqf * @return boolean */public static void copyFolder(String newPath, String oldPath) {try {(new File(newPath)).mkdirs(); // 如果文件夹不存在 则建立新文件夹File a = new File(oldPath);String[] file = a.list();File temp = null;for (int i = 0; i < file.length; i++) {if (oldPath.endsWith(File.separator)) {temp = new File(oldPath + file[i]);} else {temp = new File(oldPath + File.separator + file[i]);}if (temp.isFile()) {//过滤一些文件if ( temp.toString().endsWith(".rar") == true || temp.toString().endsWith(".tmp") == true) {continue;}DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(temp)));DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(newPath + "/" + (temp.getName()).toString())));byte b[] = new byte[4096];int length;while ((length = dis.read(b)) != -1) {dos.write(b, 0, length);}dos.flush();dos.close();dis.close();System.out.print(".");printdotcnt++;if (printdotcnt >= 80) {printdotcnt = 0;System.out.println();}} else if (temp.isDirectory()) {// 如果是子文件夹copyFolder(newPath + "/" + file[i], oldPath + "/" + file[i]);}}} catch (Exception e) {System.out.println("复制整个文件夹内容操作出错");e.printStackTrace();}}public static void main(String[] args) {String startTime;SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式File file = new File(srcPathPrefix);copy_ok_count = 0;copy_fail_count = 0;printdotcnt = 0;startTime = "\n开始时间:" + df.format(new Date());// Date()为获取当前系统时间copyFolder(desPathPrefix, srcPathPrefix);System.out.println(startTime);System.out.println("结束时间:" + df.format(new Date()));System.out.println("\nall file copy over!");}}