我只想通过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");