「java过滤文件名」java文件过滤器
今天给各位分享java过滤文件名的知识,其中也会对java文件过滤器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用java写一段程序扫描文件夹下所有后缀为.txt的文件代码
- 2、java中Filefilter和Filenamefilter的区别
- 3、java8 遍历目录下的全部子目录和子目录的子目录,过滤出有大于1张jpg的目录名称,如何写 ?
- 4、java 去掉文件后缀名
- 5、怎样在Java里取得满足条件的文件列表
- 6、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过滤文件名的信息别忘了在本站进行查找喔。