好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

文件拷贝.doc

10页
  • 卖家[上传人]:简****9
  • 文档编号:110095831
  • 上传时间:2019-10-28
  • 文档格式:DOC
  • 文档大小:13.29KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 文件拷贝 import java.io.*; import java.util.ArrayList; import java.util.List; public class FileCopy { private String message = ""; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } /** * 将源文件拷贝到目标文件 * * @param src * 写源文件地址,需文件名 * @param des * 写目标文件地址,无需文件名 */ public boolean copyFile(String src, String des) { File srcFile = new File(src); File desDir = new File(des); File desFile = new File(des + "/" + srcFile.getName()); // 判断源文件是否存在 if (!srcFile.exists()) { this.setMessage("源文件不存在!"); return false; } else if (!srcFile.isFile()) { this.setMessage("源文件格式错!"); return false; } // 判断源文件是否存在 if (!desDir.exists()) { this.setMessage("目标目录不存在!"); return false; } else if (!desDir.isDirectory()) { this.setMessage("不是有效的目录!"); return false; } BufferedReader reader = null; BufferedWriter writer = null; String str; try { reader = new BufferedReader(new FileReader(srcFile)); writer = new BufferedWriter(new FileWriter(desFile)); // 判断目标文件是否存在及其格式,不存在就创建,格式不对先删除,存在就替代 if (!desFile.exists() || !desFile.isFile()) { if (desFile.exists()) { desFile.delete(); } desFile.createNewFile(); } // 从源文件读取数据,并写入目标文件 str = reader.readLine(); while (str != null) { writer.write(str); writer.newLine(); str = reader.readLine(); } } catch (IOException e) { this.setMessage(e.getMessage()); return false; } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { this.setMessage(e.getMessage()); } } if (writer != null) { try { writer.close(); } catch (IOException e) { this.setMessage(e.getMessage()); } } } return true; } private List fileList = new ArrayList(); /** * 列出所有文件 * @param srcFile */ private void file(File srcFile) { if (srcFile.isDirectory()) { String[] files = srcFile.list(); for (int i = 0; i < files.length; i++) { File f = new File(srcFile + "/" + files[i]); // 如果是文件加入列表,否则递归列出 if (f.isFile()) { fileList.add(f); } else file(f); } }else this.setMessage(srcFile.getAbsolutePath()+"不是目录"); } /** * 建立目录 * @param des * @throws IOException */private void mkdir(File des) { if (!des.exists() || !des.isDirectory()) { mkdir(des.getParentFile()); if (des.exists()) { des.delete(); } des.mkdir(); } } /** * 复制目录 将源目录下所有文件拷贝到目标目录下 * @param src 源目录 * @param des 目标目录 */ public boolean copyDir(String src, String des) { File srcFile = new File(src); if (!srcFile.exists()) { this.setMessage("源目录不存在!"); return false; } else if (!srcFile.isDirectory()) { this.setMessage(src+"不是有效的目录!"); return false; } file(srcFile); for (int i = 0; i < fileList.size(); i++) { String srcName = ((File) fileList.get(i)).getPath(); String desName = srcName.substring(src.length(), srcName.length()); desName = des + desName; File dir=new File(desName).getParentFile(); mkdir(dir); if(!copyFile(srcName, dir.getPath())){ return false; } } return true; } public static void main(String[] args) { FileCopy t = new FileCopy(); System.out.println(t.copyFile("D:/aaa.txt","E:")); String src="D:/asdf"; String des="E:/adf"; System.out.println(t.copyDir(src, des)); System.out.println(t.getMessage()); } }。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.