gpt4 book ai didi

java - 如何检查文件名是否已经存在?

转载 作者:太空狗 更新时间:2023-10-29 15:34:56 25 4
gpt4 key购买 nike

我有一个录音应用程序,我正在尝试实现一项功能来检查具有特定名称的录音文件是否已经存在。如果用户输入的文件名已经存在,则应显示一个警告对话框。

所有文件名都存储在设备上的 .txt 文件中。

我当前的代码:

try {
BufferedReader br = new BufferedReader(new FileReader(txtFilePath));
String line = null;

while ((line = br.readLine()) != null) {
if (line.equals(input.getText().toString())) {
nameAlreadyExists();
}
}
br.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}

newFileName = input.getText();

from = new File(appDirectory, beforeRename);
to = new File(appDirectory, newFileName + ".mp3");
from.renameTo(to);
writeToFile(input);
toast.show();

这段代码只能正常工作一半。它确实成功地检查了文件名是否已经存在。如果文件名尚不存在,它将正常工作。但如果文件名已经存在,那么用户将得到“nameAlreadyExists()”警告对话框,但文件仍将被添加和覆盖。如何让我的代码在“nameAlreadyExists()”停止?

我用下面的代码解决了这个问题:

File newFile = new File(appDirectory, input.getText().toString() + ".mp3");
if (newFile.exists())
{
nameAlreadyExists();
}
else
{
newFileName = input.getText();

from = new File (appDirectory, beforeRename);
to = new File (appDirectory, newFileName + ".mp3");
from.renameTo(to);
writeToFile(input);
toast.show();
}

最佳答案

File 类提供了 exists()方法,如果文件存在则返回 true

File f = new File(newFileName);
if(f.exists()) { /* show alert */ }

关于java - 如何检查文件名是否已经存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com