This question already has answers here:
String replace method is not replacing characters

(5个答案)



How to replace backward slash to forward slash using java?

(3个答案)


3年前关闭。




我有以下路径:com/teama/merc/test/resTest我想将其转换为:com\teama\merc\test\resTest
我正在尝试将上述路径附加到此路径:C:\Users\Toby\git\MERCury\MERCury\使用str.replace('/', '\\');,但是当我将两个字符串都附加到一起时,这是输出:C:\Users\Toby\git\MERCury\MERCury\com/teama/merc/test/resTest
这是有问题的代码:
    String home = System.getProperty("user.dir");
    path.replace('/', '\\');
    System.out.println(path);

    String folder = home + File.separatorChar + path;
    System.out.println(folder);

    File file = new File(folder);
    if(file.isDirectory())
    {
        System.out.println(file.getPath() + " is a directory");
    }

由于斜杠,附加的路径不被视为文件夹。有什么帮助吗?

编辑:
为了清楚起见,完整路径(两个字符串都附加了)实际上是一个文件夹。

最佳答案

在Java中,String不可更改,因此当您使用replace方法更改它们时,必须将变量重新分配给更改后的String。因此,您必须将替换代码更改为此:

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

10-06 03:56