实现复制粘贴功能
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Vector;/** * @author 小阿哥 * @date 2011-07-05 * */public class MyMain {public static void main(String str[]) {long curretTime = System.currentTimeMillis();String copyPathString="D:\\100个游戏源代码";String pastePathString="E:\\小阿哥\\爱\\妈妈";new MyMain().fileCopyAndPaste(copyPathString, pastePathString);long endTime = System.currentTimeMillis();long time = (endTime - curretTime);System.out.println("小阿哥_从""+copyPathString+""复制到""+pastePathString+""所用的时间为:"+time + "毫妙,即"+time/1000+"妙");}/** * @author 小阿哥 (复制+粘贴)功能 * @param sourcePath * 源路径 D:\*\* * @param pastePath * 粘贴路径 E:\*\*\* * */public void fileCopyAndPaste(String sourcePath, String pastePath) {Vector<File> fileAll = copyFile(new File(sourcePath));// 复制.System.out.println("文件个数:"+fileAll.size());long totalContentSize=0;for (int i = 0; i < fileAll.size(); i++)// 粘贴{File fileSourFile = fileAll.elementAt(i);String namePasteFile = fileSourFile.getAbsolutePath().replace(sourcePath, pastePath);File filePaste = new File(namePasteFile);File filePasteParent = filePaste.getParentFile();if (!filePasteParent.exists()) {// 创建文件夹.filePasteParent.mkdirs();}try {filePaste.createNewFile();// 创建文件totalContentSize+=pasteFileContent(fileSourFile, filePaste);// 向文件中写内容} catch (Exception e) {System.out.println("copy__EX:" + e.toString() + "FileName:"+ namePasteFile);}}System.out.println("本次拷贝总字节数为:"+totalContentSize+"byte,即"+totalContentSize/1024+"KB,即"+totalContentSize/1024/1024+"MB");}/** * @author 小阿哥 粘贴文件内容 * @param sourcePath * 源路径 * @param pastePath * 粘贴路径 * */private int pasteFileContent(File sourceFile, File newFile) {int avaliable=0;try {FileOutputStream fileNewStream = new FileOutputStream(newFile);FileInputStream fileSourceStream = new FileInputStream(sourceFile);avaliable=fileSourceStream.available();System.out.println("文件:"+newFile.getName()+" size:"+avaliable+"byte");byte buffer[] = new byte[512];int length = -1;while ((length = fileSourceStream.read(buffer)) != -1) {fileNewStream.write(buffer, 0, length);fileNewStream.flush();}fileNewStream.close();fileSourceStream.close();} catch (Exception e) {System.out.println("copyFileContent()__EX:" + e.toString());}return avaliable;}/** * * @author 小阿哥 * @descrition 类似复制功能,获得文件夹下的所有文件 * * */private Vector<File> copyFile(File file) {Vector<File> vtFile = new Vector<File>();if (file.isFile()) {vtFile.add(file);return vtFile;}File files[] = file.listFiles();for (int i = 0; i < files.length; i++) {Vector<File> vtSubFile = copyFile(files[i]);if (!vtSubFile.isEmpty()) {for (int j = 0; j < vtSubFile.size(); j++) {vtFile.add(vtSubFile.elementAt(j));}}}return vtFile;}}
?