问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 返回用户在指定文件夹中的指定后缀的所有文件

发布网友 发布时间:2022-04-28 16:18

我来回答

3个回答

热心网友 时间:2022-05-19 13:26

Java实现获取指定路径下的指定格式的文件代码如下:

package filenameFilter;
 
import java.io.File;
 
/*
 * 实现功能:
 *      获取指定路径下的指定格式的文件;
 * */
 
public class Test {
 
    public static void listPath(File file) {
        // 接收筛选过后的文件对象数组
        //用文件对象调用listFiles(FilenameFilter filter);方法,
        //返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
        File files[] = file.listFiles(new MyFilenameFilter());
 
        /*//遍历出指定文件路径下符合条件的文件
        for (File f : files) {
            System.out.println(f);
        }*/
         
        //遍历出指定文件路径下的所有符合筛选条件的文件
        for(File f: files){
            if(f.isDirectory()){
                listPath(f);
            }else{
                System.out.println(f);
            }
        }
         
         
         
    }
 
    public static void main(String[] args) {
        // 创建指定目录的文件对象
        File file = new File("F:\\test");
        // 调用文件晒筛选的方法,并将文件对象出入,
        listPath(file);
    }
}
    
package filenameFilter;
 
import java.io.File;
 
import java.io.FilenameFilter;
 
 
//实现FilenameFilter接口,可用于过滤器文件名
//本方法实现的是筛选指定格式结尾的文件
public class MyFilenameFilter implements FilenameFilter {
 
    /**
     * @param args
     *
     *            实现功能; 实现FilenameFilter接口,定义出指定的文件筛选器
     *
     */
 
     
    @Override
    //重写accept方法,测试指定文件是否应该包含在某一文件列表中
    public boolean accept(File dir, String name) {
        // TODO Auto-generated method stub
        // 创建返回值
        boolean flag = true;
        // 定义筛选条件
        //endWith(String str);判断是否是以指定格式结尾的
        if (name.toLowerCase().endsWith(".jpg")) {
 
        } else if (name.toLowerCase().endsWith(".txt")) {
 
        } else if (name.toLowerCase().endsWith(".gif")) {
 
        } else {
            flag = false;
        }
        // 返回定义的返回值
         
        //当返回true时,表示传入的文件满足条件
        return flag;
    }
 
}

热心网友 时间:2022-05-19 14:44

  File[] files = f.listFiles(filter);已经就已经过滤了文件,所以不可能得到目录,所以需要先调用File [] myList = f.listFiles();得到目录在用File[] files = f.listFiles(filter);试一试下面的代码吧。

public class MyFilter implements FilenameFilter
{
    private String type; // 后缀名
    public MyFilter(String type)
    {
        this.type = type;
    }
    public boolean accept(File dir, String name)
    {
        return name.endsWith(type);
    }
    static void filterfile(String dir, String suffix, ArrayList<String> fileList)
    {
        File f = new File(dir);
        File [] myList = f.listFiles();
        MyFilter filter = new MyFilter(suffix);
        String [] files = f.list(filter);
        fileList.addAll(Arrays.asList(files));
        for (File a : myList)
        {
            if (a.isDirectory())
            {
                    filterfile(a.toString(), suffix, fileList);
            } 
        }
    }
    public static void main(String[] args)
    {
        ArrayList<String> fileList = new ArrayList<String>();
        MyFilter.filterfile("F:\\xiaoshuo", "txt", fileList);
        for(String s:fileList)
        {
            System.out.println(s);
        }
    }
}

  文件需要改一下。

热心网友 时间:2022-05-19 16:19

package my.utils.algorithm.files;

import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.List;

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

Path startingDir = Paths.get("D:\\workspace\\AlgorithmUtils\\src");

FindFileVisitor findJavaVisitor = new FindFileVisitor(".java");

Files.walkFileTree(startingDir, findJavaVisitor);

for (String name : findJavaVisitor.getFilenameList()) {
System.out.println(name);
}
}
}

class FindFileVisitor extends SimpleFileVisitor<Path> {

private List<String> filenameList = new ArrayList<String>();

private String fileSuffix = null;

public FindFileVisitor(String fileSuffix) {
this.fileSuffix = fileSuffix;
}

@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {

if (file.toString().endsWith(fileSuffix)) {
filenameList.add(file.toString());
}
return FileVisitResult.CONTINUE;
}

public List<String> getFilenameList() {
return filenameList;
}

public void setFilenameList(List<String> filenameList) {
this.filenameList = filenameList;
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 写一篇关于秋天的日记? wps脚注上的横线怎么加长,如图 JAVA的递归查询指定后缀名文件的问题 关于莲的散文 wps脚注分割线怎么调整长度? java获取文件名, 提取字符串中局部字符串。拆分文件名及后缀 名著或者是散文,摘抄与评写 找两篇优美的中考记叙性散文,急急急! Java提取文件的文件名和扩展名? 700字优秀散文(范文)2篇 java文件名提取 有哪些关于季节的散文,要短 jsp或者JAVA如何获取文件的后缀名字吗? 描写季节的散文 秋天的范文 Java读取.wps后缀名文档的代码? 秋八百字作文大全范文 javafile怎样获取到file文件名的后缀? 怎么获取文件后缀名是.java文件 关于中秋节的小散文 WPS脚注分隔线如何加粗 JAVA中listfiles怎样查找指定文件夹中后缀名为 &quot;.PNG&quot;, &quot;.GIF&quot;, &quot;.JPG&quot;的图片 wps中word脚注横线和正文距离不一致? java 去掉文件后缀名 wps页眉上一道横线短一截怎么办?如何变长? wps中如何把脚注和横线首行缩进2个字符 win7没有网络适配器 没有本地连接 win7系统 未检测到网络适配器 win7在网络适配器中没有本地连接,如何调出?或者有没有别的办法启动本... 专利转让流程有哪些 中国专利转让流程 专利转让需要哪些流程、程序 公司进行专利权转让的步骤 专利转让的流程都有哪些? 专利转让需要什么流程 怎样把快看会员借给别人? 快看联合会员卡158技巧 快看漫画7本独享在哪里找 开通快看会员为什么需要用银行号登录我还是个学生没有银行号怎么办我的手机需要登录银行号才能开通会员? 如何用别人的号向自己快看账号里充会员?