[文件方法的renameTo()返回true,但是如果我更改文件名的小写/大写形式,则实际上并未重命名文件

问题描述 投票:0回答:1

例如:

String oldName = "SubFolder1";
String newName = "subfolder1";

File oldFolder = new File(getExternalFilesDir("some_folder").toString() + File.separator + oldName);
File newFolder = new File(getExternalFilesDir("some_folder").toString() + File.separator + newName);

boolean isSuccesfullyRenamed = oldFolder.renameTo(newFolder);
Log.v("rename success", isSuccessfullyRenamed);

很抱歉,如果代码未编译,但通常会为成功重命名返回TRUE,但是文件夹实际上并未从“ SubFolder1”重命名为“ subfolder1”。

为什么它返回成功?以及如何实际更改Android上已经存在的文件夹/文件的字母大小写?

我唯一能想到的解决方案是创建一个临时父文件夹,将文件/子文件夹移至该临时文件夹,然后将其移回旧的父文件夹。

android file file-rename
1个回答
0
投票
linux system equalIgnoreCase file or folder name so both 
name are same so that return true and try this below code:
private void renameFile()
{
    String oldName = "SubFolder1";
    String newName = "subfolder2";
    String root= 
    Environment.getExternalStorageDirectory().toString()+
    "/"+"some_folder";
    File oldFolder = new File(root,File.separator+oldName);
    File newFolder = new File(root,File.separator+newName);
    boolean isSuccesfullyRenamed = 
    oldFolder.renameTo(newFolder);
    Log.d("renamesuccess", isSuccesfullyRenamed+"");
}
© www.soinside.com 2019 - 2024. All rights reserved.