2

c.txtWindowsでJavaで言うファイルを読みたい。それで、Javaで言うファイルD:\a\b\c.txtへのシステムパスをフォーマットするにはどうすればよいか、誰かが私に提案できますか?D:/a/b/c.txtこのように機能することはわかっていますが、これD:\\a\\b\\c.txtを使用したいですD:/a/b/c.txt。ありがとう!

4

4 に答える 4

3

私はあなたの問題を確信していませんが、ハードコーディングすることはめったに良い習慣ではありませ/\. File.separatorあなたを助けるためにJavaを使用してください。

于 2012-06-30T09:15:29.360 に答える
1
String file="D:\\a\\b\\c.txt";
file=file.replace('\\','/');
System.out.println(file);

出力D:/a/b/c.txt

ただし、よりプラットフォームに依存するようにする場合は、 (文字列に基づく置換のFile.separator場合) またはFile.separatorChar(文字に基づく置換の場合) を使用する必要があります。

于 2012-06-30T09:06:48.160 に答える
1

char置換を使用できます: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replace%28char,%20char%29

例:

String pathToFile = "D:\\a\\b\\c.txt";
pathToFile = pathToFile.replace('\\','/'); <-- with ' and not "

のドキュメントreplace(char, char):

この文字列内のすべての oldChar を newChar に置き換えた新しい文字列を返します。

于 2012-06-30T09:12:12.997 に答える
1

ファイルAPIを使用できます

File f = new File("c.txt");
System.out.println(f.getAbsolutePath());
System.out.println(f.getCanonicalPath());

または単に部分文字列

String fname = "D:\\a\\b\\c.txt".replace('\\', '/');
System.out.println(fname);
于 2012-06-30T09:12:52.943 に答える