可以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);
}
}