2017-07-19 48 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中的字符串中不能有這樣的內容。 –

相關問題