Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.java文件数组_Java_Arrays_File - Fatal编程技术网

.java文件数组

.java文件数组,java,arrays,file,Java,Arrays,File,到目前为止,我在当前目录中创建了一个名为“src”的文件夹 然后,如果src文件夹中有任何.java文件,我想将它们存储在数组中 JavaFileObject javaFileObjects[] = new JavaFileObject[]{}; 是否有人可以提供一种解决方案,用src文件夹中的.java文件填充此数组。是的,如评论所述,使用文件过滤器并检查.java扩展名。如下: File parentDirectory = new File("src"); File [] javaFile

到目前为止,我在当前目录中创建了一个名为“src”的文件夹

然后,如果src文件夹中有任何.java文件,我想将它们存储在数组中

JavaFileObject javaFileObjects[] = new JavaFileObject[]{};

是否有人可以提供一种解决方案,用src文件夹中的.java文件填充此数组。

是的,如评论所述,使用
文件过滤器
并检查
.java
扩展名。

如下:

File parentDirectory = new File("src");
File [] javaFiles = parentDirectory.listFiles(new RecursiveExtensionFileFilter(".java"));
下面是一个您可能会发现很有用的筛选器类:

package util;

import org.apache.commons.lang3.StringUtils;

import java.io.File;
import java.io.FileFilter;

/**
 * RecursiveExtensionFileFilter for filtering only Word .doc files
 * @author Michael
 * @link
 * @since 2/13/13 10:21 AM
 */
public class RecursiveExtensionFileFilter implements FileFilter {
    public static final String DEFAULT_WORD_EXTENSION = ".doc";
    private final String extension;
    private final boolean makeLowerCase;

    public RecursiveExtensionFileFilter(String extension) {
        this(extension, false);
    }

    public RecursiveExtensionFileFilter(String extension, boolean makeLowerCase) {
        if (StringUtils.isBlank(extension))
            throw new IllegalArgumentException("file extension cannot be blank or null");
        this.extension = extension;
        this.makeLowerCase = makeLowerCase;
    }

    @Override
    public boolean accept(File pathname) {
        boolean isWordDocOrDirectory = false;
        if (pathname != null) {
            if (pathname.isDirectory()) {
                isWordDocOrDirectory = true;
            } else {
                String absolutePath = pathname.getAbsolutePath();
                if (this.makeLowerCase) {
                    absolutePath = absolutePath.toLowerCase();
                }
                isWordDocOrDirectory = (absolutePath.lastIndexOf(this.extension) == (absolutePath.length() - this.extension.length()));
            }
        }
        return isWordDocOrDirectory;
    }
}

使用文件过滤器检查扩展名“.java”将关闭投票者。请解释这是怎样的NARQ?不知道为什么会发布两次。我会删除一个。
package util;

import org.apache.commons.lang3.StringUtils;

import java.io.File;
import java.io.FileFilter;

/**
 * RecursiveExtensionFileFilter for filtering only Word .doc files
 * @author Michael
 * @link
 * @since 2/13/13 10:21 AM
 */
public class RecursiveExtensionFileFilter implements FileFilter {
    public static final String DEFAULT_WORD_EXTENSION = ".doc";
    private final String extension;
    private final boolean makeLowerCase;

    public RecursiveExtensionFileFilter(String extension) {
        this(extension, false);
    }

    public RecursiveExtensionFileFilter(String extension, boolean makeLowerCase) {
        if (StringUtils.isBlank(extension))
            throw new IllegalArgumentException("file extension cannot be blank or null");
        this.extension = extension;
        this.makeLowerCase = makeLowerCase;
    }

    @Override
    public boolean accept(File pathname) {
        boolean isWordDocOrDirectory = false;
        if (pathname != null) {
            if (pathname.isDirectory()) {
                isWordDocOrDirectory = true;
            } else {
                String absolutePath = pathname.getAbsolutePath();
                if (this.makeLowerCase) {
                    absolutePath = absolutePath.toLowerCase();
                }
                isWordDocOrDirectory = (absolutePath.lastIndexOf(this.extension) == (absolutePath.length() - this.extension.length()));
            }
        }
        return isWordDocOrDirectory;
    }
}