您好我正在尝试将文件从Firebase存储下载到缓存中。这很好。我的问题是我无法更改整个文件名。我只能更改前缀和后缀。这是我得到的文件名。
System.out: myImage -1452943744jpg
如何删除数字,只需将文件名更改为 myImage ?
这是我的代码:
try {
localFile = File.createTempFile( "myImage " ,"jpg");
System.out.println(localFile.getName());
} catch (IOException e) {
e.printStackTrace();
}
liftImage.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
// Local temp file has been created
myBitmap = BitmapFactory.decodeFile(localFile.getAbsolutePath());
myImageView.setImageBitmap(myBitmap);
}
答案 0 :(得分:3)
当您请求系统创建临时文件时,它会使用您提供的前缀和后缀以及使该名称唯一的字符串生成唯一的文件名。在这种情况下,字符串是您观察到的数字字段,可能是从当前系统时间派生的。如果要完全控制文件名,则无法使用createTempFile()
。
相反,决定文件的位置,并创建如下文件:
localFile = new File(XXXX, "myImage.jpg");
其中XXXX是返回目录的Context
方法之一:
This guide描述了使用缓存,内部和外部文件存储的一些注意事项。