java *匹配文件名
时间: 2023-07-18 12:43:46 浏览: 49
在Java中,可以使用通配符来匹配文件名,通配符有两个:*(星号)和?(问号)。其中,星号可以匹配零个或多个字符,问号可以匹配一个字符。
例如,要匹配所有以“.txt”结尾的文件,可以使用如下代码:
```java
File dir = new File("path/to/directory");
File[] files = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
});
```
其中,FilenameFilter是一个接口,用于过滤文件名。在上面的代码中,我们通过实现FilenameFilter接口的accept方法来过滤文件名,只返回以“.txt”结尾的文件。最终,files数组中将包含所有符合条件的文件。
相关问题
java 正则判断文件名后缀
可以使用 Java 正则表达式来判断文件名的后缀是否符合要求。下面是一个示例代码:
```java
String fileName = "example.txt";
String pattern = ".*\\.txt$";
if (fileName.matches(pattern)) {
System.out.println("文件名符合要求");
} else {
System.out.println("文件名不符合要求");
}
```
上述代码中,使用了正则表达式 `.*\.txt$` 来匹配以 `.txt` 结尾的文件名。其中,`.` 表示任意字符,`*` 表示匹配任意个数的前面的字符,`\.` 表示匹配点(`.`)字符,`$` 表示匹配字符串结尾。如果文件名符合要求,将输出 `"文件名符合要求"`,否则输出 `"文件名不符合要求"`。你可以根据自己的需求修改正则表达式来匹配不同的文件名后缀。
使用java实现文件名校验
文件名校验需要检查文件名是否符合命名规范。以下是使用 Java 实现文件名校验的示例代码:
```java
import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FileNameValidator {
private static final String FILE_NAME_PATTERN = "^[\\w-\\.]+\\.[a-zA-Z]{2,}$";
// 文件名只能包含字母数字下划线、点号和连字符,且必须以字母结尾
private static final Pattern pattern = Pattern.compile(FILE_NAME_PATTERN);
public static boolean isFileNameValid(String fileName) {
Matcher matcher = pattern.matcher(fileName);
return matcher.matches();
}
public static void main(String[] args) {
String fileName = "example-file_01.txt";
if (isFileNameValid(fileName)) {
System.out.println("文件名 " + fileName + " 符合命名规范");
} else {
System.out.println("文件名 " + fileName + " 不符合命名规范");
}
}
}
```
在该示例代码中,使用正则表达式定义了文件名的命名规范,然后通过 `Pattern` 类进行编译,再使用 `Matcher` 类进行匹配和检查。`isFileNameValid` 方法接受一个文件名字符串作为参数,返回一个布尔值,表示该文件名是否符合命名规范。在 `main` 方法中,我们可以调用 `isFileNameValid` 方法来检查一个文件名是否符合命名规范。