用于文件重命名过程的Android代码

时间:2014-01-06 02:05:26

标签: java android file rename file-rename

我需要重命名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);

    }

1 个答案:

答案 0 :(得分:0)

确保您在清单文件中定义了写权限:

<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路径是否符合您的预期。