⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readmultifile.java

📁 Java程序设计实用教程源代码 本书源代码按章分别放置在不同的文件夹中,所有程序均在JDK1.6环境下编译运行正常,除了第13章需要建立ODBC数据源之外,其他程序只要有Java运行环境即可直接运行
💻 JAVA
字号:
//ReadMultiFile.Java
import java.io.*;
import java.util.*;

public class ReadMultiFile {
  public static void main(String args[]) {
    try {
      //实例化FileFilter类
      FileFilter fFilter = new FileFilter(System.getProperty("user.dir"),
                                          "java");
      //创建顺序输入流
      SequenceInputStream seqInput = new SequenceInputStream(fFilter);
      //创建输出文件对象
      FileOutputStream fOutput = new FileOutputStream("AllJavaFile.txt");
      //每次读取的字符
      int nContent;
      //从文件输入流中读取内容
      while ( (nContent = seqInput.read()) != -1) {        
        fOutput.write(nContent);//写到文件输出对象
      }
      //关闭顺序输入流
      seqInput.close();
      //关闭文件输出对象
      fOutput.close();
    }
    catch (Exception e) {
    }
  }
}

class FileFilter
    implements Enumeration {
  File directory;
  String extension;
  String strFileList[];
  Filter filter;
  int nCounter;
  //构造方法
  FileFilter(String strDirectoryName, String extension) {
    this.extension = extension;
    //创建目录对象
    directory = new File(strDirectoryName);
    if (directory.isDirectory()) {
      //如果是目录,获取目录中所有文件
      filter = new Filter(extension);
      strFileList = directory.list(filter);
    }
    else {
      //如果不是目录,获取当前文件
      strFileList = new String[1];
      strFileList[0] = strDirectoryName;
    }
    nCounter = 0;
  }

  //判断枚举中十分还有元素的方法
  public boolean hasMoreElements() {
    if (nCounter < strFileList.length) {
      return true;
    }
    else {
      return false;
    }
  }

  //获取枚举中下一元素的方法
  public Object nextElement() {
    //如果还有元素
    if (hasMoreElements()) {
      nCounter++;
      //返回文件输入流对象
      try {
        return new FileInputStream(strFileList[nCounter - 1]);
      }
      catch (FileNotFoundException e) {
      }
      return null;
    }
    else
      return null;
  }
}

//定义文件过滤器
class Filter
    implements FilenameFilter {  
  String extension; //扩展名
  Filter(String extension) {
    this.extension = extension;
  }
  //测试文件的扩展名是否为extension
  public boolean accept(File directory, String filename) {
    return filename.endsWith("." + extension);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -