【发布时间】:2012-09-15 06:13:11
【问题描述】:
即使在用户手动更改文件名后,是否有任何方法可以访问特定文件?
举一个具体的例子,我的设备在“/mnt/sdcard/myfile.png”中有一个文件,我的应用程序现在通过指示文件的绝对路径(即“/mny/sdcard/myfile .png”)。但是,如果用户更改文件名,这将失败。我想通过文件名修改后不变的常量标识符来获取文件。
【问题讨论】:
即使在用户手动更改文件名后,是否有任何方法可以访问特定文件?
举一个具体的例子,我的设备在“/mnt/sdcard/myfile.png”中有一个文件,我的应用程序现在通过指示文件的绝对路径(即“/mny/sdcard/myfile .png”)。但是,如果用户更改文件名,这将失败。我想通过文件名修改后不变的常量标识符来获取文件。
【问题讨论】:
没有。我认为没有任何唯一文件标识可用。就像在 DOS(磁盘操作系统)和 Windows 中一样,它们使用 FAT 和 NTFS 来了解每个项目的媒体(HDD)的唯一信息。
但我不认为你可以通过代码访问这种内部资源。所以没有其他方法可以访问没有文件名的文件。
满足您要求的另一种方法是(我相信您的文件不是太大)。
backup 的文件夹中。backup文件夹复制文件并将其粘贴到原始文件夹。然而,这个逻辑应该是最后一个实现的选项,但好的部分是它 100% 满足您的要求。
【讨论】:
试试这个..
您可以从 sdcard 中获取所有图像。
Cursor cur = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);
startManagingCursor(cur);
cur.moveToFirst();
while (cur.moveToNext()) {
String str = cur.getString(cur.getColumnIndex(MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME));
Log.e("#########",str);
}
【讨论】: