Java 只读可访问目录的文件名

Java 只读可访问目录的文件名,java,arrays,list,file,Java,Arrays,List,File,我试图读取文件夹的文件名并将它们保存在数组列表中,但是我在数组中得到了不可见的文件名,我不想这样做。我只想保存.txt文件名。有人知道在创建列表之前在代码中更改吗 String pathLevel= "/Users/MaxRuizTagle/Desktop/lvl/"; File file = new File(pathLevel); String [] levelNames = file.list(); String [] matrix= new String[levelNames.le

我试图读取文件夹的文件名并将它们保存在数组列表中,但是我在数组中得到了不可见的文件名,我不想这样做。我只想保存.txt文件名。有人知道在创建列表之前在代码中更改吗

String pathLevel= "/Users/MaxRuizTagle/Desktop/lvl/";

File file = new File(pathLevel);
String [] levelNames = file.list();


String [] matrix= new String[levelNames.length];

使用java.nio.file。使用Java 8:

final Path dir = Paths.get("/Users/MaxRuizTagle/Desktop/lvl/");

final List<String> textFiles = Files.list(dir)
    .filter(path -> !Files.isHidden(path))
    .map(path -> path.getFileName().toString())
    .filter(s -> s.endsWith(".txt"))
    .collect(Collectors.toList());

如果我去文件夹。。mac os x不显示它们。。我只看到5.txt文件隐藏的文件夹和文件通常有一个。一开始。试着过滤掉它们?
final Path dir = Paths.get("/Users/MaxRuizTagle/Desktop/lvl/");

final DirectoryStream<Path> dirstream
    = Files.newDirectoryStream(dir, "*.txt");

final List<String> textFiles = new ArrayList<>();

for (final Path entry: dirstream)
    if (!Files.isHidden(entry))
        textFiles.add(entry.getFileName().toString());