为什么不建议将硬编码的绝对路径名传递给 File 对象构造函数 File(String)
Why it is not suggested to pass hardcoded absolute path name to File object constructor File(String)
我正在使用 File(String pathName)
在 Java 中创建文件对象,其中 pathName
是文件的绝对路径。
虽然从功能的角度来看这工作得很好,但它经常以静态分析缺陷告终。
是否有任何具体原因建议在 File(String pathName)
上使用构造函数 File(File parent, String child)
?
根据一般经验,硬编码绝对路径会降低程序的灵活性。考虑一个位于 /usr/share/myapp/myapp.conf
的配置文件——如果最终用户想要将您的应用程序安装在 /usr/share
以外的其他位置怎么办?使用这样的绝对路径会破坏应用程序。
和往常一样,没有任何一般性陈述在 100% 的时间里都是正确的。如果将此文件放在任何其他位置完全没有意义,只需 waive/suppress 静态分析工具中的警告。
在任何应用程序中如果我们使用绝对路径
像
D:\
如果用户没有D:盘,那么应用程序将无法创建文件夹。所以我们不应该使用绝对路径。
以上只是一个例子,便于理解。
我正在使用 File(String pathName)
在 Java 中创建文件对象,其中 pathName
是文件的绝对路径。
虽然从功能的角度来看这工作得很好,但它经常以静态分析缺陷告终。
是否有任何具体原因建议在 File(String pathName)
上使用构造函数 File(File parent, String child)
?
根据一般经验,硬编码绝对路径会降低程序的灵活性。考虑一个位于 /usr/share/myapp/myapp.conf
的配置文件——如果最终用户想要将您的应用程序安装在 /usr/share
以外的其他位置怎么办?使用这样的绝对路径会破坏应用程序。
和往常一样,没有任何一般性陈述在 100% 的时间里都是正确的。如果将此文件放在任何其他位置完全没有意义,只需 waive/suppress 静态分析工具中的警告。
在任何应用程序中如果我们使用绝对路径 像 D:\
如果用户没有D:盘,那么应用程序将无法创建文件夹。所以我们不应该使用绝对路径。 以上只是一个例子,便于理解。