「java匹配文件」java正则表达式匹配文件名
今天给各位分享java匹配文件的知识,其中也会对java正则表达式匹配文件名进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 匹配本地文件路径
- 2、两个文件中的多行数据进行匹配 java
- 3、java 文件名匹配查询
- 4、java匹配文件名
- 5、怎样在Java里取得满足条件的文件列表
- 6、如何利用java正则表达式匹配路径中的文件名 D:\PjlWorkspace\monitor\ts\app-shangdu.xml 谢谢
java 匹配本地文件路径
想用\就得用双斜杠 c:\\test\\....
想用/直接用就可以 c:/test/....
两个文件中的多行数据进行匹配 java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Day04_B {
static ArrayListInteger list;
public static void main(String[] args) {
list = new ArrayList();
File dir = new File("K:\\Test");// 文件目录
sum(dir);
}
private static void sum(File dir) {
File[] files = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
for (File file : files) {
read(file);
}
for (int j = list.size() - files.length; j list.size(); j++) {
for (int i = 0; i list.size() - files.length; i++) {
System.out.println(list.get(i) + list.get(j));
}
}
}
private static void read(File files) {
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(files)));
for (String str = br.readLine(); str != null; str = br.readLine()) {
int tem = 0;
String[] strs = str.replaceAll(" ", "").split(",");
for (int i = 0; i strs.length; i++) {
tem += Integer.valueOf(strs[i]);// 记录数组,递增和
}
list.add(tem);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
java 文件名匹配查询
可以通过File的exists方法进行查询是否匹配,如果存储就返回真,不存在返回假。
举例:
public static String fileExists(String filePath){
File file=new File(filePath);
if(!file.exists()) {
return "false";//如果存在输出结果
} else{
return "true";
}
}
备注:以上放只需要传入“文件的路径+对应的文件名”(filePath),之后即可判断是否存在,如果循环判断,那么就多次调用此方法即可。
java匹配文件名
遍历文件夹所有文件,取得每个文件的文件名,然后匹配正则表达式(例如A开头的log文件可以匹配A\\s*\\.log)选出符合的文件,一一读取内容,保存你想要的值
怎样在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正则表达式匹配路径中的文件名 D:\PjlWorkspace\monitor\ts\app-shangdu.xml 谢谢
/**
* @author eatonfang
* @version 1.0
*
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// System.out.println()
String str1 = "D:/PjlWorkspace/monitor/ts/app-shangdu.xml";
String str2 = "app-shangdu.xml";
String regex = "[^(/|\\|\\\\|//)]+\\.[^(/|\\|\\\\|//)]+";
System.out.println(str2.matches(regex));
System.out.println(str1.replaceAll(regex, "name"));
}
}
运行结果:
true
D:/PjlWorkspace/monitor/ts/name
如果路径分隔符只有/一种可能的话,就可以这样写: [^/]+\\.[^/]+
我是考虑到路径分隔符还可以写成\, \\, //, 这几种可能,所以才写成那样子的
关于java匹配文件和java正则表达式匹配文件名的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-03,除非注明,否则均为
原创文章,转载请注明出处。