`

用java写了一个实用的类----递归的拷贝给定目录的.java文件到指定的一个文件中

阅读更多
用java写了一个实用的类----递归的拷贝给定目录的.java文件到指定的一个文件中
当然可以扩展一下,做成一个实用的工具,做一下界面,增加一个可选择的后缀名...呵呵,自己懒的要命,有兴趣可以作一下,感觉这个工具还挺实用的,不需要你手工一个个复制,粘贴,只需要输入你要拷贝的目录和要拷贝到的文件的名字,成百上千的文件就会替你拷贝的好好的...呵呵,不过拷贝的次序不确定,我的那个SNLCompiler代码就是用这个把数百个文件合成一个文件贴到blog里的,阅读起来可能有困难...

package edu.jlu.fuliang;

import java.io.*;

public class CopyFiles {

 public void copyAllFiles(String dirName, String toFileName) {
  if (dirName.length() == 0) {
   dirName = new String("..");
  }
  try {
   File path = new File(dirName);
   String[] fileNames = path.list();
   if (fileNames != null) {
    for (int i = 0; i < fileNames.length; i++) {

     File file = new File(path.getPath(), fileNames[i]);
     if (file.isDirectory()) {
      copyAllFiles(file.getAbsolutePath(), toFileName);
     } else {
      if (fileNames[i].endsWith(".java")) {
       FileInputStream fis = new FileInputStream(file);
       FileOutputStream fos = new FileOutputStream(
         toFileName, true);
       byte[] buf = new byte[512];
       int size = 0;
       while ((size = fis.read(buf, 0, buf.length)) != -1) {
        fos.write(buf, 0, size);
        fos.flush();
       }
       fis.close();
       fos.close();
      }
     }
    }
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

 public static void main(String[] args) {
  CopyFiles copyFiles = new CopyFiles();
  copyFiles.copyAllFiles(args[0], args[1]);
 }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics