文件位置wih字符串格式

emo*_*oco 0 java string string.format

在Java中,这些是相同的:

new File (a.getPath() + filename);
Run Code Online (Sandbox Code Playgroud)
new File (String.format(a.getPath() + filename));
Run Code Online (Sandbox Code Playgroud)

我在findbugs中得到一些警告,第二个选项似乎解决了它.

Jon*_*eet 8

两者都是IMO的不良选择.如果想要将目录名称与文件名组合,请使用File专门为此设计的构造函数:

new File(a.getPath(), filename)
Run Code Online (Sandbox Code Playgroud)

(我不明白为什么使用String.format会修复警告,但是因为我们不知道警告是什么,所以很难猜测.但它肯定会使它更脆弱,因为字符串会被解释为格式模式,这可能不是.)