【问题标题】:Add a file name to a Path object将文件名添加到 Path 对象
【发布时间】:2019-06-27 18:23:56
【问题描述】:

我有一个指向文件夹的Path 对象。

Path pathToFolder = Paths.get( "/Users/someuser/" );

…或使用Path.of的推荐方式:

Path pathToFolder = Path.of( "/Users/someuser/" );

我想使用Files.newBufferedWriter 在该文件夹中创建一个名为“whatever.text”的文件,并在其中传递一个Path 对象。

BufferedWriter writer = Files.newBufferedWriter( pathToFile ) ;

如何转换我的pathToFolder 以获取Path 对象pathToFile

我需要的不仅仅是字符串操作,因为这些是在运行时确定的软编码值。我也在尝试跨平台。

这似乎是一个显而易见的问题,但我找不到任何现有的帖子(术语确实使搜索变得棘手)。

【问题讨论】:

  • pathToFile 是否等于 pathToFolder.resolve("whatever.text");
  • @KevinO 这就是Path::resolve 的目的,将各个部分连接成一个Path 对象吗?
  • 是的,.resolve(...) 将以文件系统适当的方式将文件名(或其他目录)加入到先前的 Path 实例中。

标签: java path filenames


【解决方案1】:

你在找Path.resolve()

将给定的路径字符串转换为 Path 并以 resolve 方法指定的方式针对此 Path 解析它。例如,假设名称分隔符为“/”,路径表示“foo/bar”,则使用路径字符串“gus”调用此方法将得到路径“foo/bar/gus”。

所以你应该使用这个:

Path pathToFolder = Path.of("/Users/someuser/");
Path pathToFile = pathToFolder.resolve("your-file-name");
BufferedWriter writer = Files.newBufferedWriter(pathToFile);

【讨论】:

  • 好答案,谢谢。我把你的Paths.get改成了the Javadoc推荐的Path.of
猜你喜欢
  • 2021-08-13
  • 1970-01-01
  • 2014-09-11
  • 1970-01-01
  • 1970-01-01
  • 2020-02-11
  • 2017-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多