我的程序从终端获取参数,最后一个参数是csv文件的路径。我的问题是,反斜杠始终会在进入主类时被删除。
输入主方法时,如何让用户输入Windows类型的文件路径并在其中添加反斜杠?
我试图查看反斜杠是否像这样的字符存在:
for (int num = 0; num < args[2].length(); num ++) {
char c = args[2].charAt(num);
if (c == '\\') {
System.out.println("backslash found");
}
}
但它不在那里。
我也这样尝试过:
System.out.println(args[2].replace("\\", "\\\\"));
第一次尝试未打印找到的反斜杠,第二次尝试仅打印了排除任何反斜杠的路径。
答案 0 :(得分:0)
反斜杠很可能已经被命令外壳删除,因为它们也将其用作转义符。检查传递的值,很可能还会丢失反斜杠后的值。
在调用程序时,您必须转义反斜杠,例如像这样:
java -cp myjar com.example.MyApp "param 1" "param 2" "path\\to\\example\\file.txt"
或者,使用正斜杠传递路径。 Java在Windows系统上也支持这些功能。