绝对路径参数java

时间:2011-04-06 03:16:31

标签: java

我正在尝试获取工作目录的绝对路径,并将其传递给方法。 我正在以

的形式获得路径
C:\eclipse\workspace\file.txt

但是eclipse必须以以下形式收到:

C:\\eclipse\\workspace\\file.txt

所以我正在进行替换,但它只适用于一个char,如何修改它?

String path = new File("").getAbsolutePath();
path  = path.replace( '\\', '\\\\' );
something  = method.read(path+"\\file.txt");

7 个答案:

答案 0 :(得分:3)

改变这个:

path  = path.replace( '\\', '\\\\' );

对此:

path  = path.replaceAll( "\\", "\\\\" );

答案 1 :(得分:0)

尝试使用replaceAll方法。

答案 2 :(得分:0)

只需使用双引号代表多个字符。然后将其称为String

path = path.replace("\\", "\\\\");

请注意,this至少需要Java 1.5才能正常工作。

另见:

答案 3 :(得分:0)

您应该使用:

public String replaceAll(String regex,
                     String replacement)
  

替换此字符串的每个子字符串   与给定的常规匹配   表达式与给定的替代。

答案 4 :(得分:0)

如果您只想要当前的工作目录,最简单的方法是:

String currentdir = System.getProperty("user.dir");

答案 5 :(得分:0)

你可以使用其工作的path = path.replaceAll( '\\', '/' );

答案 6 :(得分:0)

不确定这是否有帮助..我遇到了与我正在构建的应用程序相同的问题。

在我的应用程序中,我基本上使用JFileChooser以图形方式选择我想要的文件。简而言之,所选文件的绝对路径返回为“C:\ Documents and Settings .... \ xCBL.xml”

然后将路径传递给另一个类进行操作,但由于单个'\'而失败。修复 -

String absPath = file.getAbsolutePath();
System.out.println("File Path:"+absPath);
String filePath = absPath.replaceAll("\\\\", "\\\\\\\\");
System.out.println("New File Path:"+filePath);

输出:

File Path:C:\Documents and Settings\tanzim.hasan\workspace\XML to Java\xcbl.XML
New File Path:C:\\Documents and Settings\\tanzim.hasan\\workspace\\XML to Java\\xcbl.XML

希望以上有所帮助。