java中IO和NIO的路径和路径

时间:2017-09-01 09:19:05

标签: java path classpath java-io

我是学习Java中的IO和NIO的新手。

我不知道是什么

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

感谢任何解释。

1 个答案:

答案 0 :(得分:0)

Path是一个表示路径的类。您通常已经拥有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这样的Utility类的原因是多种因素的组合:

  1. Path是一个接口,因此无法直接调用其构造函数;因为它没有构造函数。
  2. String是一个最终类,修改它的类可能比创建实用程序类更难以呈现。因此,虽然"/home/user/.config".toPath()可能是一种有效的面向对象的处理方式,但遗留代码可以防止在不经过深思熟虑的情况下添加它。
  3. URI的压力类似于上文String所述的压力。
  4. 当他们在NIO Path类中添加时,他们希望审查他们的代码并将其集成到核心Java库中。

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

    1. 您不会以已建立的库调用接口所暴露的方式混淆库的现有部分(这会破坏库的用户,因为现在他们需要重写他们的程序)。
    2. 您有一个简单的退出计划(这很重要,因为您可能无法按时交付)
    3. 如果他们采用修改StringURI的方法来获得getPath(...)函数,那么他们就会增加将代码集成到Java标准库中的难度。< / p>