3

我正在使用 Java 中创建一个 File 对象File(String pathName),其中pathName是文件的绝对路径。虽然从功能的角度来看这工作得很好,但它经常以静态分析缺陷告终。是否有任何具体原因建议使用构造函数File(File parent, String child)而不是File(String pathName)

4

2 回答 2

3

作为一般经验法则,硬编码绝对路径会使您的程序不太灵活。考虑一个位于以下位置的配置文件/usr/share/myapp/myapp.conf——如果最终用户想要将您的应用程序安装在其他地方/usr/share怎么办?使用这样的绝对路径会破坏应用程序。

和往常一样,没有任何一般性陈述在 100% 的时间里都是正确的。如果将此文件放在任何其他位置绝对没有意义,只需放弃/抑制静态分析工具中的警告。

于 2015-06-11T08:59:05.390 回答
1

在任何应用程序中,如果我们使用像 D:\这样的绝对路径

如果用户没有 D: 驱动器,那么应​​用程序将无法创建文件夹。所以我们不应该使用绝对路径。上面只是一个例子来理解。

于 2015-12-15T04:40:02.830 回答