java - 过滤掉文本文件

标签 java text-files

该代码将文件与目录分开。

我正在尝试过滤掉文本文件(.txt)并打印出剩余的文件。

我根本不想打印文本文件。我希望代码在 if 语句 if (listOfFiles[i].isFile()) { 之后实现,因此在检查给定值是否是实际文件,然后确定它是否是是一个文本文件,如果任一测试失败,请将其添加到 listOfFiles 数组列表中。

需要帮助

import java.io.BufferedInputStream;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class Exc_3 {

    public static void main(String[] args) {
        File folder = new File("C:\\Users\\skyla\\Desktop");
        File[] listOfFiles = folder.listFiles();
        List<String> files = new ArrayList<>();
        List<String> directories = new ArrayList<>();

        for (int i = 0; i < listOfFiles.length; i++) {

            if (listOfFiles[i].isFile()) {
                    files.add(listOfFiles[i].getName());
            } else if (listOfFiles[i].isDirectory()) {
                directories.add(listOfFiles[i].getName());
            }
        }
        System.out.println("List of files :\n---------------");
        for (String fName : files)
            System.out.println(fName);

        System.out.println("\nList of directories :\n---------------------");
        for (String dName : directories)
            System.out.println(dName);
    }
}

最佳答案

由于您只是检查文件扩展名是否为“.txt”,因此您可以使用 String.endsWith(".txt") 检查名称

if (listOfFiles[i].isFile()) {
   if (listOfFiles[i].getName().endsWith(".txt")) {
      files.add(listOfFiles[i].getName());
   }
}

关于java - 过滤掉文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60240193/

相关文章:

java - 图像按钮点击更改图像

python - 根据用户输入创建具有预先写入的名称和用户输入的文本文件名

javascript - 使用 javascript 写入主机上的文本文件

C文件指针读写问题

java - 如何将响应正文时间戳格式更改为 unix 时间戳?

java - 使用 ScheduledExecutorService 启动和停止计时器

java - 在 Java 中合并队列

java - Android如何在应用程序停止时保留 native 库

java - 从文本文件中读取二维数组

c - 如何显示文本文件中与作为输入的前五个字符匹配的行?