2017-07-19 49 views
0

我想在@CliCommand这是一个网络路径中有一个参数。像\\path\to\newfolder。该文件夹将被读取并进一步处理。Spring Shell Filepath作为参数

但是如Java解释反斜杠特别,其结果将是这样的:

\path\to\newfolder\t是一个反斜杠和\n是一个换行符。

有没有可能读取网络参数?

的代码看起来是这样的:

@CliCommand(value="importSifs", help = "Aktivierung von Tasks und Workflows") 
    public String importObjects(
     @CliOption(key = "username", mandatory = true) String username, 
     @CliOption(key = "password", mandatory = true) String password, 
     @CliOption(key = "url", mandatory = true) String url, 
     @CliOption(key = "folder", mandatory = true) File folder 

回答

0

为了使它适用于Java的正确读取,你可以在加工过程中更换每隔\\\地方。

String newUrl = url.replace("\\", "\\\\") 

编辑:

要更换\n您必须使用此:

replace("\n", "\\n") 

但是,你必须定义这个对所有\(char),你可以在URL,因此一些正则表达式可以帮助。

+0

嗨伊根,谢谢你的评论。我真的尝试过,如果这是工作。但坦率地说,事实并非如此。如果您检查示例,您的命令将仅替换第一个\ in \路径。 \ n或\ t不会被识别。 然后我想也过滤出这些特殊字符,并用\\ n替换\ n。这也适用。但是,如果你想在输入字符串中的条目 \\ \ W 它不会让W¯¯将被解释为\\ W –

+0

的差别为\的@C.Böhm你是对的,我很愚蠢。检查我的编辑。不是一个完美的答案,但可以帮助你。 –

+0

@C.Böhm我不明白你用'\ w'的例子。 Java中的字符串中不能有这样的内容。 –

相关问题