gpt4 book ai didi

android - 图像保存到 SD 卡覆盖现有文件

转载 作者:行者123 更新时间:2023-11-29 21:31:21 25 4
gpt4 key购买 nike

我成功地将单击按钮时的图像保存到文件夹中的 SD 卡中。

我遇到的问题是,如果我保存超过 1 个文件,图像会覆盖之前保存的现有图像,因为文件名相同,所以它会覆盖现有图像。

有没有什么办法可以让我在保存图像时每次都使用不同的名称保存,这样就不会被覆盖?

提前致谢!

这是我目前所拥有的:

OutputStream output;

Time now = new Time();
now.setToNow();
String time = now.toString();

// Retrieve the image from the res folder
BitmapDrawable drawable = (BitmapDrawable) mImageView.getDrawable();
Bitmap bitmap1 = drawable.getBitmap();

// Find the SD Card path
File filepath = Environment.getExternalStorageDirectory();

// Create a new folder in SD Card
File dir = new File(filepath.getAbsolutePath()
+ "/Wallpapers/");
dir.mkdirs();

// Create a name for the saved image
File file = new File(dir, "Wallpaper"+ time );

// Show a toast message on successful save
Toast.makeText(getActivity(), "Wallpaper saved with success!",
Toast.LENGTH_LONG).show();
try {

output = new FileOutputStream(file);

// Compress into png format image from 0% - 100%
bitmap1.compress(Bitmap.CompressFormat.PNG, 100, output);
output.flush();
output.close();
}

catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;

最佳答案

使用:

Time now = new Time();
now.setToNow();
String time = now.toString();

并获取您尝试保存文件的时间。

然后,将其附加到文件名的末尾。这样,您的文件将永远不会具有相同的名称,但将始终具有相同的前缀。

检查目录是否存在

File dir = new File(Environment.getExternalStorageDirectory() + "/mydirectory");
if(dir.exists() && dir.isDirectory()) {
// do something here
}

但是,没有 SD 卡的设备将无法正常工作。

关于android - 图像保存到 SD 卡覆盖现有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19410156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com