在处理文件时是否应系统地使用File
类,或者是否可以使用String
来表示路径和文件名?
答案 0 :(得分:4)
如果您查看采用String
或File
的各种文件流/读者/编写器类,您将看到采用String
的构造函数是采用File
的构造函数的方便重载。换句话说,String
构造函数通常从路径名字符串创建File
并调用其他构造函数。
因此,使用File
版本可能会保存构建新的File对象。
另一方面,File
实例将占用比等效String
更多的内存,与开放和阅读成本相比,创建File
实例的成本较低/写一个文件。
最重要的是,从性能角度来看,它对于小规模应用程序来说无关紧要。对于大规模应用程序,最合适的方法取决于应用程序实际执行的操作;例如是否重复使用相同的文件。
正如评论所说,还有其他方法可以“表示”文件/路径;例如“file:”URL和Java 7 Path
类。
答案 1 :(得分:1)
File
实例表示本地文件系统上的路径。如果这是你想要的变量,那么它就是适当的类。如果不是(如简单文件名或另一台机器上的文件路径),请使用其他内容。
答案 2 :(得分:1)
File类只是一个类。您可以使用表示文件路径的字符串来构造它。但它需要一个额外的操作来对文件做一些事情。那时你很可能会承担大部分的性能成本。文件IO,流读取或写入等。您可以使用此类查找包括权限的文件信息。
如果您没有执行其中一项操作,那么您应该考虑此线程中提到的其他替代方案之一。