程序必須監視與掩碼匹配的文件。文件夾名稱和掩碼通過命令行參數傳遞。但即使在我可以使用它之前,面具也會被第一場比賽取代!雙引號也沒有效果,也沒有其他符號,例如我嘗試過使用\或'來保護輸入,然後這個符號將被添加到參數,而我不想要。任何想法如何解決它?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