java自定义文件操作类实例代码(二)

2014-11-23 23:38:05 · 作者: · 浏览: 1
  • e.printStackTrace();
  • }
  • }
  • /**
  • * 复制整个文件夹内容
  • * @param oldPath String 原文件路径 如:c:/fqf
  • * @param newPath String 复制后路径 如:f:/fqf/ff
  • * @return boolean
  • */
  • public void copyFolder(String oldPath, String newPath) {
  • 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()){
  • FileInputStream input = new FileInputStream(temp);
  • FileOutputStream output = new FileOutputStream(newPath "/"
  • (temp.getName()).toString());
  • byte[] b = new byte[1024 * 5];
  • int len;
  • while ( (len = input.read(b)) != -1) {
  • output.write(b, 0, len);
  • }
  • output.flush();
  • output.close();
  • input.close();
  • }
  • if(temp.isDirectory()){//如果是子文件夹
  • copyFolder(oldPath "/" file[i],newPath "/" file[i]);
  • }
  • }
  • }
  • catch (Exception e) {
  • System.out.println("复制整个文件夹内容操作出错");
  • e.printStackTrace();
  • }
  • }
  • /**
  • * 移动文件到指定目录
  • * @param oldPath String 如:c:/fqf.txt
  • * @param newPath String 如:d:/fqf.txt
  • */
  • public void moveFile(String oldPath, String newPath) {
  • copyFile(oldPath, newPath);
  • delFile(oldPath);
  • }
  • /**
  • * 移动文件到指定目录
  • * @param oldPath String 如:c:/fqf.txt
  • * @param newPath String 如:d:/fqf.txt
  • */
  • public void moveFolder(String oldPath, String newPath) {
  • copyFolder(oldPath, newPath);
  • delFolder(oldPath);
  • }
  • }