2017-03-18 9 views
-1

私はパス(例:C:\ Users \ chloe \ Documents)を持っていますが、プロパティファイルに保存したいときは、文字列のためにダブルスラッシュで保存します。 :\ Users \ chloe \ Documents "何らかの理由で、\\はC:の後に置かれません。 私は、インターネット上で検索し、彼らがでReplaceAllを話していた。ダブルバックスラッシュを単一のバックスラッシュに置き換えます

path.replaceAll("/+", "/"); 

をしかし、これは通常のスラッシュを置き換えて、私はここにある

(Javaで)...バックスラッシュでそれを行う方法を知りたいです私はプロパティファイル(必要なものだけ)に書き込む方法:リテラルStringでそれをハードコーディングするとき

Properties prop = new Properties(); 
OutputStream output = null; 


try { 
       output = new FileOutputStream("config.properties"); 
       prop.setProperty("dir", path); 
       prop.store(output, null); 
      }catch(IOException e1){ 
       e1.printStackTrace(); 
      } finally { 
       if (output != null) { 
        try { 
         output.close(); 
        } catch (IOException e1) { 
         e1.printStackTrace(); 
        } 
       } 

      } 

path = System.getProperty("user.home") + File.separator + "AppData" + File.separator + "Roaming"; 
+1

*バックスラッシュ*と呼ばれています。バックスラッシュが文字列内で特別な意味を持つため、通常は二重に置き換えられます。 – UnholySheep

+0

あなたの問題は少し不明です。問題の原因ではなく効果を修正しようとしているようです。それを明確にしてください(そして、 '' \ ''を適切に表示するために ''コードの書式設定 ''を使用してください)。 – Pshemo

+0

書いた後、 'path'を設定しています。 –

答えて

4

あなただけ\\を必要としています。 \のエスケープ文字なので、実行時には\となります。区切り文字として/を入力してパスを記述することもできます。明確にするために

String path = "C:\\Users\\chloe\\Documents"; 

は(あなたがprintにそれをした場合)C:\Users\chloe\Documentsに等しい値を持つStringを作成します。また、その後、実行時にユーザーのDocumentsフォルダを選択することになる

String path = System.getProperty("user.home") + File.separator + "Documents"; 

を書くことができます。最後に、

System.out.println("\\\\"); 
System.out.println("\\\\".replaceAll("(\\\\\\\\)+", "\\\\")); 

ウィル出力正規表現\をエスケープ

\\ 
\ 

はカウンター直感的です。

+0

私は通常のものを使用する場合、私はまだこの場所にファイルを保存することはできますか? – RekTek249

+0

@ RekTek249もし 'C:/ Users/chloe/Documents'を意味するのなら、yesです。 –

+0

ああ私はFile.seperatorを試してみる – RekTek249

-1
path.replaceAll('\\',File.separator); 

が機能する場合があります。どのようにパスを取得しているのか、クラスをどのようにしているのかなど、より多くの情報が役立つかもしれません(ファイルパスをパスまたは文字列に読み込んでいるときにパスピースを生成していますか)。

+0

は動作しません。エラーが発生しました – RekTek249

+0

さて、どのようなエラー – Seymore

+0

見つかったchar、必要な文字列 – RekTek249

関連する問題