2

我想c.txt在 windows 中读取 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

我不确定您的问题,但硬编码/\. 使用 JavaFile.separator来帮助您。

于 2012-06-30T09:15:29.360 回答
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)

返回一个新字符串,该字符串是用 newChar 替换此字符串中所有出现的 oldChar 所产生的。

于 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 回答
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 回答