2

フォルダ間で\を返すSystem.getenv( "APPDATA")を使用してみました。FileOutPutStreamはこれらを処理しないので、どうすれば\を/に変換できますか?

ありがとう

4

2 に答える 2

4

を使用する必要があるたびに\、次の2つを記述します\\。言い換えれば、\キャラクター自体がエスケープ文字であるため、エスケープする必要があります。また、エスケープする必要もあります。

または、単一の代わりに使用できるファイルパスの場合、使用/しているプラ​​ットフォーム(Windows、Linux、Macなど)で機能するかどうかは関係ありません。

あなたの質問に戻ってください:これが起こっているのは少し奇妙です、getenv確かに返される文字列はすでに\文字をエスケープしています。代わりに次のコンストラクターを使用してみましょう。File

FileOutputStream fos = new FileOutputStream(new File(System.getenv("APPDATA")));
于 2013-03-08T20:08:23.030 に答える
0
File f = new File(System.getenv("APPDATA"));
System.out.println(f.getAbsolutePath());

次に、新しいFileOutputStream(f)を作成できます。

于 2013-03-08T20:13:21.953 に答える