我只想使用 File.renameTo() 功能在 andorid 应用程序中重命名文件,但它不起作用



我只想通过android代码重命名一个文件,我的代码如下。当我在下面的代码中使用fin.renameTo((函数时,这个重命名函数被完全忽略,它不会显示任何消息true或false。我目前的API等级是27

btnRenameFile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
File fin = new File("/storage/sdcard1/VideoFiles/ADHM.mp4");
File fout = new File("/storage/sdcard1/VideoFiles/ADHM.mp4.xyz");
if(fin.exists()) {
Toast.makeText(getApplicationContext(),"File Exists",Toast.LENGTH_LONG).show();
if (fin.renameTo(fout))
Toast.makeText(getApplicationContext(),"Renamed Successfully",Toast.LENGTH_LONG).show();
else  Toast.makeText(getApplicationContext(),"Not Renamed",Toast.LENGTH_LONG).show();

}
else
{
Toast.makeText(getApplicationContext(),"File Does not Exist",Toast.LENGTH_LONG).show();
}

}
catch (Exception ex){
Toast.makeText(getApplicationContext(),ex.getMessage(),Toast.LENGTH_LONG).show();
}

}
});

首先,请用简单的if语句确认renameTo((是否成功。

if (fin.renameTo(fout))
{
System.out.println("File renamed successfully");;
}
else
{
System.out.println("File rename failed");;
}

由于它依赖于平台,并且重命名失败时不会引发Exception。

此外,fout文件格式更改为.xyz尝试ADHM_XYZ.mp4

File fin = new File("/storage/sdcard1/VideoFiles/ADHM.mp4");
File fout = new File("/storage/sdcard1/VideoFiles/ADHM.mp4.xyz");

最新更新