[英]Spaces in Command Line Arguments
我正在为大学做作业,我有一个关于命令行参数和空格的快速问题。
我必须找到一个将在命令行中提供给我们的图像文件。 我正在尝试运行我的程序,但是因为我的文件位置在文件夹名称中有空格,所以 java 假设有多个参数。
因此,当我将args[0]
分配给String
,由于空格,它会在中途停止。
有没有办法从命令行中获取所有内容并将其分配给String
?
提前致谢 :)
只需使用引号:
java -jar MyThing.jar "My File Name with loads of spaces.jpg"
快速演示:
public static void main(final String[] args) throws Exception {
Stream.of(args).forEach(System.out::println);
}
输出:
java -jar MyThing.jar My File Name with loads of spaces.jpg
My
File
Name
with
loads
of
spaces.jpg
java -jar MyThing.jar "My File Name with loads of spaces.jpg"
My File Name with loads of spaces.jpg
系统将空格字符解释为命令行参数的分隔符。 如果你想要带有空格的参数,你可以用双引号将它们连接起来。
% java test.class "Java is escaped"
Java is escaped
如果您在文件资源管理器中选择一个或多个文件并从 RMB 运行应用程序,则应用程序的参数应为所选文件。 但是如果有问题的文件夹包含空格,你就被卡住了! 没办法加双引号! 微软漏洞?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.