.temp
フォルダー内の拡張子として含まれていないファイルを読み取りたい。これには正規表現を使用したいと思います。これを行うには、正規表現で除外をどのように使用しますか?
4 に答える
2
気にしないで、テストを否定してください:
private static final Pattern NOTME = Pattern.compile("\\.temp$");
// in code
if (NOTME.matcher(input).find())
// illegal!
しかし、実際には、次を使用する必要があります。
if (input.endsWith(".temp"))
// illegal
また、Java 7 を使用している場合は、破棄File
して とを使用しFiles
てくださいPath
。
于 2013-06-12T11:42:26.373 に答える
0
正規表現ではないことは知っていますが、読みやすくするために使用します
!fileName.endsWith(".temp")
于 2013-06-12T11:42:00.657 に答える
0
Java の FilenameFilter インターフェイスに基づいて、次のようなことを試すことができます。
package dk.tbsalling;
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo {
public static void main(String[] args) {
File f = null;
File[] paths;
try{
f = new File("d:/tmp");
FilenameFilter fileNameFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.matches(".+(?<!\.temp)");
}
};
paths = f.listFiles(fileNameFilter);
for(File path:paths)
{
System.out.println(path);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
于 2013-06-12T11:43:57.757 に答える