Java调用中如何在命令行参数文件中转义井号(#)?
在Java参数文件中转义井号(#)的方法
根据Java官方文档的定义,参数文件里的#默认会触发注释(#之后到行尾的内容都会被忽略)。如果要让#作为普通参数字符传递给Java程序,有两种可行的方式:
用双引号包裹包含#的参数
把整个参数放在双引号"内,这样引号内的#会被当作普通字符处理,不会被识别为注释开头。比如参数文件里写:"user#123" "config#prod.properties"执行
java @args.txt MyClass后,程序会收到user#123和config#prod.properties这两个完整参数。用反斜杠直接转义#
在#前添加反斜杠\,可以单独转义这个字符,避免它被识别为注释标记。比如:user\#123 config\#prod.properties这种方式下,Java程序同样会收到包含
#的完整参数。
需要注意的是:如果参数里同时包含空格和#,用双引号包裹会更简洁;而反斜杠本身如果需要作为参数的一部分,要写成\\(两个反斜杠)来转义。
内容的提问来源于stack exchange,提问作者andrybak
相关产品推荐
相关产品推荐

