IO和Nio在Java中的路径和路径



我是新来的java中的io和nio。

我想知道什么

  • java.nio.file.Pathjava.nio.file.Paths
  • 之间的差异是
  • PathPaths之间的区别是?

感谢任何解释。

路径是代表路径的类。您通常已经拥有Path的任何东西都涉及这里的方法。

路径是一组实用程序。这些实用程序从其他类型的输入中产生Path对象。公用事业不需要提前具有Path。它们是常见(经常反复使用的代码)的便利包装,以减少剪切和剪切的需求。

这是使用Paths

的示例
/* I have a String, but need a Path */
Path path = Paths.get("/home/user/.config");

这是使用Path的示例:

/* I have a Path, but need a String */
String name = path.toString();

需要像Paths这样的实用程序类的原因是许多因素的组合:

  1. Path是一个接口,因此无法直接调用其构造函数;因为它没有构造函数。
  2. String是最后一类,在其中修改它可能比创建公用事业类更难作为替代方案要困难得多。因此,尽管"/home/user/.config".toPath()可能是一种有效的面向对象的做事方式,但旧版代码可防止添加不进行更多审议的情况。
  3. URI的压力类似于上述String上所述的压力。

当他们在NIO Path类中添加时,他们希望对其代码进行审查并集成到Core Java库中。

很容易让其他人添加到库中具有以下特征:

  1. 您不会以已建立的库呼叫界面公开的方式弄乱库的现有部分(这样做会破坏库的用户,因为他们现在需要重写他们的程序)。
  2. 您有一个容易的支持计划(这很重要,因为您可能无法按时交付)

如果他们采取了修改StringURI具有getPath(...)功能的方法,那么他们将增加将代码集成到Java标准库中的困难。

最新更新