重命名文件弄乱了文件

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

我想重命名一个文件和android工作室。但是当我尝试重命名文件时,文件的可读,可写和隐藏属性设置为false。并且文件的上次修改日期更改为“01/01/1970 05:30 AM”。

//minSdkVersion 19

private ArrayList<FileData> getMusic(Context context) {
    ArrayList<FileData> fileData = new ArrayList<>();

    ContentResolver contentResolver = context.getContentResolver();
    String[] projection = {MediaStore.Audio.Media.DATA};
    Cursor externalCursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection, null, null, null);

    while (Objects.requireNonNull(externalCursor).moveToNext()) {
        System.out.println(externalCursor.getString(0));
        fileData.add(getFileData(context, new File(externalCursor.getString(0))));
    }

    sortByDate(fileData);

    return groupDateWise(fileData);
}

重命名文件

File renameFile = new File(file.getParent(), editText.getText().toString().trim());
boolean success = file.renameTo(renameFile);

重命名之前

(Qazxswpoi)

重命名后

(Qazxswpoi)

谢谢您的帮助。

java android file android-contentresolver
1个回答
0
投票

如果您无法访问https://i.stack.imgur.com/nmhUI.png包,则可以明确设置这些标志

https://i.stack.imgur.com/CtUCi.png

JavaDoc来救援!

该方法的行为的许多方面本质上是依赖于平台的。

我建议你不要使用java.nio。 而是寻找boolean success = file.renameTo(renameFile); if (success) { renameFile.setReadable(true); renameFile.setWritable(true); } renameTo

Files#move

例:

docs
© www.soinside.com 2019 - 2024. All rights reserved.