java - windows上的java命令行参数处理
问题描述
我有一个 java 程序,想将一些文件路径作为命令行参数传递。如果它们包含空格,我必须引用它们。这适用于 Linux 和 Windows。但是在 Windows 上,如果路径包含斜杠,我会遇到问题。
为了测试这一点,我编写了一个简单的Echo.java程序。
所以,如果我说:
爪哇-cp。"C:\Program Files\" "C:\其他文件"
[C:\Program Files" C:\Other]
[Files]
那么,这里发生了什么?反斜杠似乎逃脱了引用。对于 Linux,这是可以的,但这是在 Windows 上!
但即使这样:
设置 PF="C:\Program Files\"
爪哇-cp。"%PF%" "C:\其他文件"
[C:\Program Files" C:\Other]
[Files]
如果没有尾部斜杠,它会按预期工作:
爪哇-cp。"C:\Program 文件" "C:\其他文件"
[C:\Program Files]
[C:\Other Files]
解决方案
尝试使用双斜杠 C:\Program Files\" 来转义斜杠 \ (slash-slash-quote)。甚至这里的文本编辑器也转义了斜杠引号
推荐阅读
- vb.net - 如何清除设置
- java - 如果我添加 cascade = CascadeType.ALL,为什么我的 Spring Boot 应用程序会死掉?
- c++ - 为什么赋值运算符重载会创建对象的副本?
- javascript - 如何使我自己的切换暂停/播放按钮与我的视频一起使用?
- javascript - 采用 Javascript 组件的打字稿;如何解决错误
- salesforce - 访问保存在用户个人文件夹中的报告
- oauth-2.0 - Quay 为 /oauth/authorize 请求发送 html 而不是访问令牌
- java - 我在idea中启动tomcat服务器时遇到一些错误,我不知道如何解决它。它是下面的日志信息
- arrays - 在 Java 8 中生成随机短数组
- python - brew安装后python 3.7.7不会在mac上升级?