文件过滤接口FileFilter

可以i配合listFiles方法进行使用

listFiles()方法的作用是如果file是个文件,则返回的是null,如果file是空目录,返回的是空数组,如果file不是空目录,则返回的是该目录下的文件和目录
而当我想要该目录下特定后缀名的文件时,则可以将其两个进行搭配使用
例子如下(这里也使用了文件选择器JFileChooser):

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileFilter;


public class test extends JFrame
{
    File[]  listfile;
    public void do_botton(MouseEvent e){
        JFileChooser jFileChooser=new JFileChooser(); //创建文件选择器
        jFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); //只能选择文件夹
        int result=jFileChooser.showOpenDialog(this);	//	打开文件选择器
        if(result==JFileChooser.APPROVE_OPTION) 	//如果文件选择器点击了打开
        	//使用file数组来保存文件选择并且过滤掉的文件
            listfile=jFileChooser.getSelectedFile().listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) {
                if(pathname.getName().endsWith(".txt")){
                    return true;
                }else{
                    return false;
                }
            }
        }
        );
        for(File f:listfile){
            System.out.println(f.getName());
        }
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                test test=new test();
                test.setVisible(true);
            }
        });
    }
    test(){
        setBounds(300,300,500,500);
        setLayout(null);
        JButton jButton=new JButton();
        jButton.setBounds(100,100,100,100);
        jButton.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                do_botton(e);
            }
        });
        add(jButton);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值