如何处理Java中的文件集

时间:2011-03-08 12:27:14

标签: java

任何人都可以帮助编写java来处理具有多个文件的文件夹中的每个word文件。

3 个答案:

答案 0 :(得分:1)

Commons IO是一种方式,但您可以在没有任何库的情况下执行此操作:

public void processFilesIn(File folder){
    File[] contents = folder.listFiles();

    int file = 0;
    while(file < contents.length){
        process(contents[file]);
        file++;
    }
}

private void process(File f){
    if(f.isDirectory()){ //Recursively descend into any folders - optional.
        processFilesIn(f);
    }
    else if(canProcess(f)){ //Write boolean canProcess(File f) so you don't try to process files you aren't interested in.
        //do processing
    }
}

你这样称呼:processFilesIn(new File("/path/to/folder"));

答案 1 :(得分:0)

要处理目录中的所有文件,您可以使用apache commons IO库。列出由扩展名筛选的目录中的所有文件(如果您只想使用单词文件),如下所示:

URI dirUri = "your dir as uri";
Collection<File> files = FileUtils.listFiles(dirUri,new String[] {"doc"}, false);

for(File file : files){
    process(file);
}

您可以使用

从目录名称创建URI
YourClass.class.getResource(resName);

其中resName是目录的类路径相对路径

答案 2 :(得分:0)

您可以使用文件过滤器(下面的非递归示例):

FilenameFilter filter = new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.endsWith(".doc");
    }
};

for (File f : new File("c:").listFiles(filter)) {
    processWordFile(f);
}