我的程序必须监视与掩码匹配的文件。文件夹名称和掩码通过命令行参数传递。但是面具在我可以使用之前被第一个匹配替换了!
双引号无效,其他符号也无效。我尝试使用\
或'
保护输入。但是,这个符号将被添加到我不想要的 args 中。知道如何解决吗?
public static void main(String[] args) throws IOException {
File dir = new File(args[0]);
String mask = args[1];
System.out.println(dir.getAbsolutePath());
System.out.println(mask);
String regex = args[2];
System.out.println(regex);
}
正则表达式 fromargs[2]
也替换为文件夹中的某些文件。
Input: "E:\Programming\Java\Task7" *.??? ...
Ouput: E:\Programming\Java\Task7 .git Task7.iml
Input: "E:\Programming\Java\Task7" *.????* [a-zA-Z]
Output: E:\Programming\Java\Task7 .idea [a-zA-Z]
Input: "E:\Programming\Java\Task7" '.???' ...
Output: E:\Programming\Java\Task7 '.???' ...
Input: "E:\Programming\Java\Task7" \\'.???'\\ ...
Output: E:\Programming\Java\Task7 \'.???'\ ...
我知道使用引号或反斜杠并不是一个坏主意,但我认为存在更好的方法。