我刚刚编写了这段代码。但我想简单,干净地更改此代码。
您有任何反馈吗?
try {
if (!videoFile.exists()) {
videoFile.createNewFile();
} else {
videoFile.delete();
videoFile.createNewFile();
}
if (!cnFile.exists()) {
cnFile.createNewFile();
} else {
cnFile.delete();
cnFile.createNewFile();
}
if (!enFile.exists()) {
enFile.createNewFile();
} else {
enFile.delete();
enFile.createNewFile();
}
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:3)
在if / else的两个分支中,创建文件。将其移出if语句
if (videoFile.exists())
videoFile.delete();
videoFile.createNewFile();
if (cnFile.exists())
cnFile.delete();
cnFile.createNewFile();
if (enFile.exists())
enFile.delete();
enFile.createNewFile();
答案 1 :(得分:1)
由于要删除文件(如果存在),因此只需删除文件而不检查文件是否存在并创建新文件。
videoFile.delete();
videoFile.createNewFile();
cnFile.delete();
cnFile.createNewFile();
enFile.delete();
enFile.createNewFile();
答案 2 :(得分:1)
您的if
语句不是严格需要的,因为如果文件不存在,File.delete
不会引发异常,而是返回false
(似乎您对此不感兴趣)结果)。
并且遍历文件列表甚至可以进一步简化它:
File[] files = new File[]{videoFile, cnFile, enFile};
for(File f: files) {
f.delete();
f.createNewFile();
}
答案 3 :(得分:0)
您可以创建一个私有方法:
private void createFile(File file) { // if not File, then whatever type you need
if (!file.exists()) {
file.createNewFile();
} else {
file.delete();
file.createNewFile();
}
}
然后多次调用:
try {
createFile(videoFile);
createFile(cnFile);
createFile(enFile);
} catch (IOException e) {
e.printStackTrace();
}