程序必须监视与掩码匹配的文件。文件夹名称和掩码通过命令行参数传递。但即使在我可以使用它之前,面具也会被第一场比赛取代!双引号也没有效果,也没有其他符号,例如我尝试过使用\或'来保护输入,然后这个符号将被添加到参数,而我不想要。任何想法如何解决它?Java命令行参数,停止扩展通配符符号
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);
}
Regular expression from args[2] also replaced with some file from folder.
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 \'.???'\ ...
我知道使用引号或反斜杠并不是坏主意,但我认为存在更好的方法。
我知道它不是扩展通配符的java,而且我通过双引号或其他合适的符号(如\或'')保护输入不起作用。顺便说一下,我使用Windows cmd。 – 2014-09-20 12:33:52