简体   繁体   English

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

[英]How to search files by extension and name that is entered by the user?

Where should I include a statement in my code so that it searches by both the extension which is alredy encoded, and the name of the file which the user enters?我应该在我的代码中的哪里包含一个语句,以便它通过已经编码的扩展名和用户输入的文件名进行搜索?


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 来源

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM