文件重命名过程的Android代码



我需要重命名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路径是否为您所期望的路径

最新更新