我需要重命名android应用程序的文件名。我在onListItemClick()中编写了代码,但它不起作用。我也没有例外。这是代码。这里的错误是什么?
File oldFile = new File(path.get(position));
String oldFileName=path.get(position);
Toast.makeText(this, path.get(position), Toast.LENGTH_LONG).show();
String segments[]=oldFileName.split("/");
String fileName=segments[segments.length-1];
String newFileName=oldFileName.replace(fileName, "log_B.txt");
File newFile=new File(newFileName);
if(!oldFile.isDirectory()){
System.out.println("File Name is:"+fileName);
try{
if(oldFile.renameTo(newFile)){
System.out.println("File renamed successfull !");
}else{
System.out.println("File renamed operation failed");
}
}catch(Exception ex){
System.out.println("Exception :"+ex.getMessage());
}
}else{
System.out.println("Folder Name is :"+fileName);
}
确保您在清单文件中定义了写入权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
File.renameTo()方法将在以下情况下失败:
- 对于包含源路径和目标路径
- 两个路径的所有父级都需要搜索权限
- 两条路径都在同一装载点上。在Android上,应用程序当尝试在内部存储器和SD卡
如文档中所述:http://developer.android.com/reference/java/io/File.html#renameTo(java.io.File)
此外,我会验证newFile路径是否为您所期望的路径