我正在尝试为我的音频录制设备创建一个文件,但这个文件总是被赋予一个随机的名称。因为这很难处理,我希望在文件被创建后用一个更有意义的名称对其进行重命名。
然而,即使renameTo
返回true,文件也没有被重命名。
我做错了什么吗?
outfile = File.createTempFile(amount + "_alarmsave", ".3gp",
storageDir);
System.out.println("Old file: "+outfile.getAbsolutePath());
File newFile = new File(outfile.getParent(), "alarmsave_" + amount + ".3gp");
System.out.println("new file: "+newFile.getAbsolutePath());
if(outfile.renameTo(newFile)){
System.out.println("Succes! Name changed to: " + outfile.getName());
}else{
System.out.println("failed");
}
LogCat输出:
01-13 18:27:40.264: I/System.out(22913): Old file: /mnt/sdcard/Personal Alarm/13_alarmsave1623959934.3gp
01-13 18:27:40.264: I/System.out(22913): new file: /mnt/sdcard/Personal Alarm/alarmsave_13.3gp
01-13 18:27:40.284: I/System.out(22913): Succes! Name changed to: 13_alarmsave1623959934.3gp
renameTo
方法会更改实际文件的名称,但不会更改 File 对象的名称。 - Joni