对于用Java 7编写的新应用程序,是否有任何理由再使用Java .io. file对象,或者我们可以认为它已弃用?
我相信java.nio.file.Path可以做java.io.File可以做的所有事情,甚至更多。
对于用Java 7编写的新应用程序,是否有任何理由再使用Java .io. file对象,或者我们可以认为它已弃用?
我相信java.nio.file.Path可以做java.io.File可以做的所有事情,甚至更多。
当前回答
Java.io.File未弃用。是的,java.nio.file.Path更好,但只要仍然有大量的程序和教科书使用Java.io。文件,如果只是出于遗留的原因,它不应该被认为已弃用,它太重要了。这样做只是在工作中扔一个扳手,没有任何整体利益。例如,Android框架使用File来实现它的一些基本文件处理特性,还有许多其他的事情要做。
其他回答
Java.io.File未弃用。是的,java.nio.file.Path更好,但只要仍然有大量的程序和教科书使用Java.io。文件,如果只是出于遗留的原因,它不应该被认为已弃用,它太重要了。这样做只是在工作中扔一个扳手,没有任何整体利益。例如,Android框架使用File来实现它的一些基本文件处理特性,还有许多其他的事情要做。
我们可以认为它已弃用吗?
不,您不能认为它已弃用,除非在File Javadoc中如此标记。
查看这篇文章关于更多信息- http://www.oracle.com/technetwork/articles/javase/nio-139333.html
基本文件。Path将是今后的发展方向,但众所周知,Java的人们倾向于保持向后兼容性,所以我猜这就是他们离开它的原因。
对于用Java 7编写的新应用程序,是否有任何理由使用 java.io.File对象是否已经弃用?
这有点像在说:“拿破仑应该入侵俄罗斯吗?还是这些球芽甘蓝真的很好吃?”
至于问题的第二部分,你确实可以认为是不可取的。截至2018年1月,它没有被弃用。但没有什么能阻止你这么想。这是否会给你带来今生或来世的好处还很难说。
长话短说:
java.io.File很可能永远不会被弃用/不支持。也就是说,java.nio.file. path是更现代的java.nio.file库的一部分,它能做java.io.File能做的一切,但通常以更好的方式,而且更多。
对于新项目,使用Path。
如果你需要一个File对象,调用Path#toFile()
从文件迁移到路径
这个Oracle页面突出了不同之处,并将java.io.File功能映射到java.nio.file lib(包括Path)功能
Janice J. Heiss和Sharon Zakhour的文章,2009年5月,讨论JDK 7中的NIO.2文件系统