首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JAVA 资料复制工具(new深度复制所有文件)

2012-09-14 
JAVA文件复制工具(new深度复制所有文件)import java.io.Fileimport java.io.FileInputStreamimport java

JAVA 文件复制工具(new深度复制所有文件)

import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileCopy {public static void testCopyFolder() {String sourceFilePath = "D:\\java_test";String targetFilePath = "D:\\alex-test";copyFile(sourceFilePath, targetFilePath);//int sourceFileNum = new File(sourceFilePath).listFiles().length;//int targetFileNum = new File(targetFilePath + "\"+ new File(sourceFilePath).getName()).listFiles().length;}public static void testCopyFile() {String sourceFilePath = "D:\\test1.txt";String targetFilePath = "D:\\alex-test";copyFile(sourceFilePath, targetFilePath);System.out.println("Copy complete...");}/** * 如需测试,请先把”第8题测试“文件夹中的文件复制到D盘根目录 */public static void main(String[] args) {File file = new File("D:\\test2.txt");if (!file.exists()) {try {file.createNewFile();System.out.println("file name is " + file.getName());file = file.getAbsoluteFile();System.out.println("absolute file is " + file);System.out.println("new File is created");} catch (IOException e) {e.printStackTrace();}}testCopyFolder();testCopyFile();}/** * @param sourceFilePath *            文件复制源 * @param targetFilePath *            文件复制目标端 */public static void copyFile(String sourceFilePath, String targetFilePath) {File sourceFile = new File(sourceFilePath);File[] sourceFiles = null;if (sourceFile.isDirectory()) {targetFilePath += "\" + sourceFile.getName();File targetFile = new File(targetFilePath);targetFile.mkdirs();sourceFiles = sourceFile.listFiles();} else if (sourceFile.isFile()) {sourceFiles = new File[] { sourceFile };}for (int i = 0; i < sourceFiles.length; i++) {if (sourceFiles[i].isDirectory()) {String newSourceFilePath = sourceFilePath + "\"+ sourceFiles[i].getName();copyFile(newSourceFilePath, targetFilePath);} else {try {FileInputStream fis = new FileInputStream(sourceFiles[i]);FileOutputStream fos = new FileOutputStream(targetFilePath+ "\" + sourceFiles[i].getName());int read = -1;while ((read = fis.read()) != -1) {fos.write(read);}fos.flush();fos.close();fis.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}}}

?

热点排行