java - 如何按用户输入的扩展名和名称搜索文件?

标签 java

我应该在我的代码中的什么地方包含一条语句,以便它根据已经编码的扩展名和用户输入的文件名进行搜索?


private void btnSearchMouseClicked(java.awt.event.MouseEvent evt) {                                       
        File folder = new File(txtLocation.getText());
        String name = new String (txtName.getText());

        if(folder.isDirectory() == true){
           String [] files  = folder.list();
           String fileNames = "";

           for(int i=0; i<files.length; i++){
               int index = files[i].indexOf(".");
               String extension = files[i].substring(index);
               if(extension.equals(".jpg")==true ){

               fileNames += "\n" + files[i];
               }


           }
           txtListOfFiles.setText("Files found:" + fileNames);
        }

最佳答案

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Scanner;

public class DirectoryContents {

    public static void main(String[] args) throws IOException {

        File f = new File("c:\\temp\\"); // current directory
        Scanner myObj = new Scanner(System.in);  // Create a Scanner object
        System.out.println("Enter file ext:");

        final String fileExt = myObj.nextLine();  // Read user input
        System.out.println("file ext is: " + fileExt);   
        myObj.close();

        File[] files = f.listFiles(new FilenameFilter() {
            public boolean accept(File dir, String name) {
                return name.toLowerCase().endsWith("."  +fileExt);
            }
        });
        for (File file : files) {
            if (file.isDirectory()) {
                System.out.print("directory:");
            } else {
                System.out.print("     file:");
            }
            System.out.println(file.getCanonicalPath());
        }
    }
}

source

关于java - 如何按用户输入的扩展名和名称搜索文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57698944/

相关文章:

java - 如何展平数组并消除 null?

java - 原始列表和通用列表

java - 快速修复 org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java :467)

java - 将数据从服务器传输到 servlet

java - 如何获取 *.cer 文件以将自签名 HTTPS 证书添加为受 Java 信任

java - BufferedImage setRGB 奇怪的结果

java - 在数据库中存储数组

java - 以原子方式更新多个 volatile 和 j.u.c.atomic 变量

java - 如何在 java 中缩短文件路径(获取规范路径)?

java - 从适配器类扩展类