Java 7:path与文件
对于使用Java 7编写的新应用程序,是否有任何理由使用java.io.File
对象,或者我们可以考虑弃用它?
我相信java.nio.file.Path
可以完成java.io.File
可以完成的所有工作。
长话短说:
java.io.File
很可能永远不会被弃用/不受支持。 也就是说, java.nio.file.Path
是更现代的java.nio.file
lib的一部分,并且可以执行java.io.File
所有function,但通常情况下会更好,然后是一些。
对于新项目,使用Path
。
如果你需要传统的File
对象,只需调用Path#toFile()
从文件迁移到path
这个Oracle页面突出了差异,并将java.io.File functionality
映射到java.nio.file lib (including Path) functionality
文章由Janice J. Heiss和Sharon Zakhour于2009年5月在JDK 7上讨论NIO.2文件系统
我们可以认为它已经过时了吗?
除非在Javadoc中如此标记。
检查这篇文章关于更多信息 – http://www.oracle.com/technetwork/articles/javase/nio-139333.html
基本上file.Path将是现在的方式,但正如广为人知的Java人往往保持后向兼容性,所以我想这就是为什么他们离开了它。
是的,但是许多现有的API,包括Java7自己的标准API,仍然只能使用File
types。
是的,java.nio.file.Path更好,但只要还有大量使用Java.io.File的程序和教科书,如果仅出于遗留原因,则不应视为弃用。 这样做只会把一把扳手放在作品中,而没有任何好处。
对于使用Java 7编写的新应用程序,是否有任何理由使用java.io.File对象,或者我们可以考虑弃用它?
这有点像说:“拿破仑入侵俄罗斯, 还是这些抱子甘蓝好吃?
至于问题的第二部份,你的确可以认为是不赞成的。 截至2017年3月,尚未弃用。 但是没有什么可以阻止你这么考虑的 。 是否会使你在今生或下一次获得好处是不可能的。