【问题标题】:Why is Path.resolve() not working in my code?为什么 Path.resolve() 在我的代码中不起作用?
【发布时间】:2014-04-28 08:30:30
【问题描述】:

这是我的代码:

public static Path changePath(Path pathInput) throws IOException
{
  Path pathOutput = pathInput;
  System.out.println(pathOutput);
  pathOutput.resolve("test.xxx");
  System.out.println(pathOutput);
  return pathOutput;
}

pathInput 是一个目录。 pathOutput 应该返回一个带有目录 + / + test.xxx 的文件

两个 System.out.println 行输出相同的字符串;路径输入!

也许问题在于pathOutput = pathInput 行。我试图创建一个新的 Path() 对象,但它说你不能。

问候。

【问题讨论】:

    标签: java path nio


    【解决方案1】:

    Path 是不可变的。 As the javadoc states

    此接口的实现是不可变的,并且可供以下用户安全使用 多个并发线程。

    重新分配

    pathOutput = pathOutput.resolve("test.xxx");
    

    在您退货之前。

    【讨论】:

    • 有点傻!谢谢,我显然写代码太久了。
    猜你喜欢
    • 2014-01-23
    • 2013-08-06
    • 2021-03-17
    • 2018-04-24
    • 2019-01-07
    • 2017-06-18
    • 2019-03-12
    • 1970-01-01
    相关资源
    最近更新 更多