`

文件操作类

 
阅读更多

package utils;

import java.io.File;
import java.io.IOException;

public class FileUtil {
 public static void main(String[] args) {
  createDir("C:/Documents and Settings/Administrator/桌面/product/workloadStats");
 }
 
 public static boolean createDir(String destDirName) {
     File dir = new File(destDirName);
     if(dir.exists()) {
      System.out.println("创建目录" + destDirName + "失败,目标目录已存在!");
      return false;
     }
     if(!destDirName.endsWith(File.separator))
      destDirName = destDirName + File.separator;
     // 创建单个目录
     if(dir.mkdirs()) {
      System.out.println("创建目录" + destDirName + "成功!");
       return true;
     } else {
      System.out.println("创建目录" + destDirName + "失败!");
      return false;
     }
 }
 
 public static boolean createFile(String destFileName) {
     File file = new File(destFileName);
     if (file.exists()) {
      System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");
      return false;
     }
     if (destFileName.endsWith(File.separator)) {
      System.out.println("创建单个文件" + destFileName + "失败,目标不能是目录!");
      return false;
     }
     if (!file.getParentFile().exists()) {
      System.out.println("目标文件所在路径不存在,准备创建。。。");
      if (!file.getParentFile().mkdirs()) {
       System.out.println("创建目录文件所在的目录失败!");
       return false;
      }
     }

     // 创建目标文件
     try {
      if (file.createNewFile()) {
       System.out.println("创建单个文件" + destFileName + "成功!");
       return true;
      } else {
       System.out.println("创建单个文件" + destFileName + "失败!");
       return false;
      }
     } catch (IOException e) {
      e.printStackTrace();
      System.out.println("创建单个文件" + destFileName + "失败!");
      return false;
     }
 }
 
 public static boolean deleteFile(String destFileName) {
  File file = new File(destFileName);
  return file.delete();
 }
 
 public static boolean deletefile(File f)
 {
     if (f.isFile())
      f.delete();
     return true;
 }
 
 public static boolean deletedir(File f){
  if(f.isDirectory())
     {
         File[] files = f.listFiles();
         for(int i=0;i<files.length;i++)
         {
             if(files[i].isDirectory()) deletedir(files[i]);
             else deletefile(files[i]);
         }
     }
     f.delete();
     return true;
 }

 

/**
 * 将delete目录下与standard目录下相同的文件移到delete目录下的deletedFile中
 */

public static boolean compareDir(File delete, File standard) {

  System.out.println("..........开始处理..........");

  int count = 0;

  File deletedFileDir = new File(delete.getAbsolutePath()
    + File.separator + "deletedFile");
  deletedFileDir.mkdirs();

  class MyFileFilter implements FileFilter {
   public boolean accept(File file) {
    if (file.isDirectory())
     return false;
    return true;
   }

  }

  File[] files1 = standard.listFiles(new MyFileFilter());
  File[] files2 = delete.listFiles(new MyFileFilter());
  System.out.println("基准目录中的文件个数=" + files1.length);
  System.out.println("处理目录中的文件个数=" + files2.length);
  for (int i = 0, len1 = files1.length; i < len1; i++) {
   File f1 = files1[i];
   for (int j = 0, len2 = files2.length; j < len2; j++) {
    File f2 = files2[j];
    if (f1.isFile() && f2.isFile()
      && f1.getName().equals(f2.getName())) {
     try {
      InputStream in = new BufferedInputStream(
        new FileInputStream(f2));
      File deletedFile = new File(deletedFileDir
        .getAbsolutePath()
        + File.separator + f2.getName());
      System.out.println(deletedFile.getAbsolutePath());
      count++;
      if (deletedFile.createNewFile()) {
       OutputStream out = new BufferedOutputStream(
         new FileOutputStream(deletedFile));
       byte[] buffer = new byte[1024];
       int byteread;
       while ((byteread = in.read(buffer)) != -1) {
        out.write(buffer, 0, byteread);
       }
       out.close();
      }
      in.close();
     } catch (Exception e) {
      e.printStackTrace();
     }
     f2.delete();
    }
   }
  }

  System.out.println("..........处理完毕..........");
  System.out.println("一共移动" + count + "个文件");
  return true;

 }
}

分享到:
评论

相关推荐

    电子科技大学linux环境编程作业2——李林——编写带缓存的文件操作类

    编写带缓存的文件操作类 从执行体程序库中的CLLogger类可知,通过缓存要写入文件中的数据,能够提高读写磁盘的性能 请编写一个文件操作的封装类,其要求如下: 需要提供open/read/write/lseek/close等函数的封装函数...

    java文件操作类

    java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...

    PHP 简单文件操作类

    PHP 写的一个简单文件操作类,支持 PHP4 PHP5

    c#文件操作类,读取,写入;

    c#文件操作类,读取,写入;根据传入的虚拟路径或物理路径获取文件、目录;

    php文件操作类,十分方便

    php文件操作类,包括创建文件夹、递归复制、递归删除、递归移动

    php中面向对象,文件操作类.zip

    php中的面向对象,文件操作类,可以查看文件,删除文件,上传文件。包含构造函数,打开工作文件目录,向当前文件夹添加文件,同时检查是否有重名的文件,将临时文件复制到当前目录中。

    编写带缓存的文件操作类

    请编写一个文件操作的封装类,其要求如下: 需要提供open/read/write/lseek/close等函数的封装函数 该类要提供数据缓存服务。 调用该类的写操作接口时,数据要首先写到缓存,然后再根据策略写到文件中。 调用该类的...

    最新C#类库典藏版源码 包含有FTP操作类、导出Excel、文件操作类、弹出消息类等.zip

    FTP操作类、导出Excel、配置文件操作类、 文件操作类、弹出消息类、XML操作类、 弹出消息类、分词辅助类、时间操作类、 汉字转拼音、压缩解压缩、条形码、 正则表达式、日历、上传下载、 视频转换类、随机数类、条形...

    易语言文件操作类模块

    易语言文件操作类模块源码,文件操作类模块,取对象,取驱动器集合,追加路径,取驱动器名称,取父文件夹名称,取文件名,取不带扩展名的文件名,取扩展名,取完整路径名,取临时文件名,驱动器是否存在,文件是否存在,文件夹是否...

    C#文件操作类

    C#文件操作类

    基于NPOI的打开/导出Excel文件操作类

    在这个“基于NPOI的打开/导出Excel文件操作类”中,我们可能只涉及到HSSFWorkbook,因为它仅支持Excel 2003。 1. **打开Excel文件**: 使用NPOI打开Excel文件,你需要创建一个HSSFWorkbook实例,通过...

    php真正的ZIP文件操作类.zip

    php真正的ZIP文件操作类,php将文件夹打包成zip文件,分析了php操作zip文件的技巧,有兴趣的朋友可以引用参考,或者朋友们有更好的zip类,可以上传到我们PHP中文网与我们一起学习分享。

    易语言源码易语言文件操作类模块源码.rar

    易语言源码易语言文件操作类模块源码.rar 易语言源码易语言文件操作类模块源码.rar 易语言源码易语言文件操作类模块源码.rar 易语言源码易语言文件操作类模块源码.rar 易语言源码易语言文件操作类模块源码.rar ...

    C#文件和目录操作类

    C#文件和目录操作类 主要包含文件操作类和目录操作类两个类方法

    Excel文件操作类头文件+.CPP文件CSpreadSheet_src.rar

    文件操作,Excel文件操作类头文件CSpreadSheet_src,Excel文件操作类头文件CSpreadSheet_src,Excel文件操作类头文件CSpreadSheet_src,Excel文件操作类头文件CSpreadSheet_src

    [VC/MFC]ini配置文件操作类

    非常简单的ini配置文件操作类,光看.h或者.cpp就能明白用法。若有使用上的疑惑,可以参见链接:http://blog.csdn.net/xyz59886/article/details/79423311

    C#文件操作类.pdf

    网友封装的C#文件操作类,包括目录创建、文件内容读写等;

    winform程序配置文件操作类,C#版

    Winform程序的配置文件操作类,C#版,包含对配置节点的增、删、改、查等操作,拿来直接可用,稍加调整可用于实际项目中。

Global site tag (gtag.js) - Google Analytics