「java过滤文件名」java文件过滤器

博主:adminadmin 2023-03-18 13:47:09 452

今天给各位分享java过滤文件名的知识,其中也会对java文件过滤器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用java写一段程序扫描文件夹下所有后缀为.txt的文件代码

《用java写一段程序扫描文件夹下所有后缀》百度网盘txt 最新全集下载

链接:

提取码: y69m   

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

java中Filefilter和Filenamefilter的区别

两种机制而已,筛选时的参数不同,很多类库都会提供多种调用方式,并无不同,只是适配更多的情况

FileFilter filefilter = new FileFilter() {

public boolean accept(File file) {

//if the file extension is .txt return true, else false

if (file.getName().endsWith(".txt")) {

return true;

}

return false;

}

};

FilenameFilter filefilter = new FilenameFilter() {

public boolean accept(File dir, String name) {

//if the file extension is .txt return true, else false

return name.endsWith(".txt");

}

};

看到了吧,是接口里方法的参数类型不同,这样你可以选自己需要的接口

java8 遍历目录下的全部子目录和子目录的子目录,过滤出有大于1张jpg的目录名称,如何写 ?

使用递归进行:

class T {

public static void main(String[] args) {

String path = "d:\\test\\";

File filePath = new File(path);

if (filePath.isDirectory()) {

countJPG(filePath);

} else {

System.out.println("必须由一个目录开始");

}

}

private static void countJPG(File directory) {

for (File file : directory.listFiles()) {

if (file.isDirectory()) {

countJPG(file);

} else {

if ("jpg".equals(file.getName().split("\\.")[1])) {

System.out.println(directory.getPath());

break;

}

}

}

}

}

补充一下,这个程序其实有个bug,如果有的文件没有后缀名,我通过"."来裁剪文件名就会有问题。

运行结果:

我分别在这两个目录下放了图片

java 去掉文件后缀名

首先需要获取文件名称,然后通过文件名称用substring(*,*)方法得到没后缀名的文件名。

示例代码:

String filename= "xxxx.tmp";

File file = new File(filename);

String getFilename = file.getFileName();

String name = getFilename .substring(0,getFilename .lastIndexOf("."));//获取除后缀1位的名称

//getFilename .substring(getFilename .lastIndexOf("."));//这个是获取后缀名

怎样在Java里取得满足条件的文件列表

Java通过File.listFiles/list方法来列出目录下的文件列表。下面介绍File.listFiles方法的用法。File.list的用法也基本一样。

File.listFiles方法有三种形式,

public File [] listFiles()

无参数的listFiles将返回所有文件,包括子文件与子目录。

public File [] listFiles(java.io.FilenameFilter)

java.io.FilenameFilter:文件名过滤器接口。过滤器必须实现此接口。该接口定义了一个

public boolean accept(File file, String filename)方法,第一个参数File

file为正在被过滤的文件,第二个参数为正在被过滤的文件名。FilenameFilter.accept返回false的文件会被过滤掉。

该方法返回匹配FilenameFilter所指定条件的文件

public File [] listFiles(java.io.FileFilter)

public boolean accept(File file)方法,第一个参数File file为正在被过滤的文件。FileFilter.accept返回false的文件会被过滤掉。

该方法返回匹配FileFilter所指定条件的文件。

下面我们通过举例说明后2个方法的用法。

取得指定扩展名的文件列表:

public static FilenameFilter getFileExtensionFilter(String extension) {

final String _extension = extension;

return new FilenameFilter() {

public boolean accept(File file, String name) {

boolean ret = name.endsWith(_extension);

return ret;

}

};

}

File file = new File("c:\\");

File[] zipFiles = file.listFiles(getFileExtensionFilter(".zip"));

public static FilenameFilter getFileExtensionFilter(String extension) { final String _extension = extension; return new FilenameFilter() { public boolean accept(File file, String name) { boolean ret = name.endsWith(_extension); return ret; } }; } File file = new File("c:\\"); File[] zipFiles = file.listFiles(getFileExtensionFilter(".zip"));

取得文件名满足所指定的规则表达式的文件列表

public static FilenameFilter getFileRegexFilter(String regex) {

final String regex_ = regex;

return new FilenameFilter() {

public boolean accept(File file, String name) {

boolean ret = name.matches(regex_);

return ret;

}

};

}

File file = new File("c:\\");

//取得文件名为8个数字,扩展名为.html的文件

File[] numberHtmlFiles = file.listFiles(getFileRegexFilter("[0-9]{8}\\.html"));

public static FilenameFilter getFileRegexFilter(String regex) { final String regex_ = regex; return new FilenameFilter() { public boolean accept(File file, String name) { boolean ret = name.matches(regex_); return ret; } }; } File file = new File("c:\\"); //取得文件名为8个数字,扩展名为.html的文件 File[] numberHtmlFiles = file.listFiles(getFileRegexFilter("[0-9]{8}\\.html"));

取得非目录的文件列表:

public static FileFilter getNotDirFileFilter() {

return new FileFilter() {

public boolean accept(File file) {

return file.isFile();

}

};

}

File file = new File("c:\\");

File[] notDirFiles = file.listFiles(getNotDirFileFilter());

java中文件浏览对话框中怎么过滤文件类型

JFileChooser chooser = new JFileChooser();

FileNameExtensionFilter filter = new FileNameExtensionFilter(

"JPG GIF Images", "jpg", "gif");

chooser.setFileFilter(filter);

int returnVal = chooser.showOpenDialog(parent);

if(returnVal == JFileChooser.APPROVE_OPTION) {

System.out.println("You chose to open this file: " +

chooser.getSelectedFile().getName());

}

JFileChooser就可以实现文件选择,但是只显示指定的文件类型的过滤类FileNameExtensionFilter只是JDK1.6版本里的,JDK1.4及其以下是没有的,如果想在JDK1.4里实现过滤,可以去1.6版本里找到该源码,自己编译使用

java过滤文件名的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java文件过滤器、java过滤文件名的信息别忘了在本站进行查找喔。