Я хочу прочитать файл c.txt
в java в windows. Так может ли кто-нибудь предложить мне, как я могу отформатировать системный путь к файлу, скажем D:\a\b\c.txt
- D:/a/b/c.txt
в java? Я знаю, что он будет работать так: D:\\a\\b\\c.txt
, но я хочу использовать это D:/a/b/c.txt
. Благодаря!Как отформатировать системный путь к файлу в java?
2
A
ответ
1
String file="D:\\a\\b\\c.txt";
file=file.replace('\\','/');
System.out.println(file);
выход D:/a/b/c.txt
Но если вы пытаетесь сделать его более зависят от платформы, вы должны использовать File.separator
(для замены на основе строк) или File.separatorChar
(для замены на основе символов).
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.
1
Вы можете использовать File 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);
3
я не уверен в ваших проблемах, но редко это хорошая практика, чтобы жесткий код /
или \
. Используйте Java File.separator
, чтобы помочь вам.