2017-07-19 8 views
0

ネットワークパスである@CliCommandにパラメータを設定したいと考えています。何かのような\\path\to\newfolder。このフォルダは読み込まれ、さらに処理されます。 \tはバックスラッシュで、\nが改行されている間Spring Shellファイルパスをパラメータとして

\path\to\newfolder:javaは特別にバックスラッシュを解釈するよう

しかし、結果はこのようになります。

ネットワークパラメータを読み取る可能性はありますか?

コードは次のようになります。それは、有効なJavaを正しく読み取るために作るために

@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

、あなたは、処理中に\\どこかですべての\を置き換えることができます。

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

編集:

あなたがこれを使用する必要があります\nを交換するには:

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

はしかし、あなたはので、いくつかの正規表現を助けることができる、あなたはURLで持つことができるすべての\(char)のためにこれを定義する必要があります。

+0

こんにちはEgan、ご意見ありがとうございます。これがうまくいけば実際に試しました。しかし、率直に言って、それはしません。この例をチェックすると、コマンドは最初の\ in \パスだけを置き換えます。 \ nまたは\ tは認識されません。 次に、これらの特殊文字を除外し、すべての\ nを\\ nで置き換えることも考えました。これも機能します。 \ wはあなたが正しいと私は愚かだC.Bö[email protected] –

+0

ワット\\として解釈されるように、しかし、あなたはワット \入力文字列 \\ のエントリを考えるならば、それは違いをすることはありません。私の編集をチェックしてください。完璧な答えではありませんが、あなたを助けることができます。 –

+0

@C.Böhm私はあなたの例を '\ w'で理解していません。 Javaの文字列には、このようなことはできません。 –

関連する問題