对于用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中的类。nio包适用于路径实例,而不是文件实例。如果使用java,建议使用Path类。只要可能,蔚来汽车。
现在,有时您将不得不使用File类。这是因为方法或构造函数希望将File实例作为参数,但当您有选择时,请确保使用Path而不是File。
其他回答
众所周知,java中的类。nio包适用于路径实例,而不是文件实例。如果使用java,建议使用Path类。只要可能,蔚来汽车。
现在,有时您将不得不使用File类。这是因为方法或构造函数希望将File实例作为参数,但当您有选择时,请确保使用Path而不是File。
查看这篇文章关于更多信息- http://www.oracle.com/technetwork/articles/javase/nio-139333.html
基本文件。Path将是今后的发展方向,但众所周知,Java的人们倾向于保持向后兼容性,所以我猜这就是他们离开它的原因。
长话短说:
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文件系统
对于用Java 7编写的新应用程序,是否有任何理由使用 java.io.File对象是否已经弃用?
这有点像在说:“拿破仑应该入侵俄罗斯吗?还是这些球芽甘蓝真的很好吃?”
至于问题的第二部分,你确实可以认为是不可取的。截至2018年1月,它没有被弃用。但没有什么能阻止你这么想。这是否会给你带来今生或来世的好处还很难说。
是的,但是许多现有的api,包括Java7自己的标准api,仍然只能使用File类型。