安卓暂时保存位图图像



我正在寻找一种将位图文件临时保存在Android文件系统中的方法。该文件仅在用作对服务器的 POST 请求的一部分时才是必需的,之后我希望它不再存在。我正在寻找更快的方法来做到这一点。

...
File file = new File(Environment.getExternalStorageDirectory().getPath().toString()+"/ImageDB/" + fileName+".png");
FileOutputStream filecon = new FileOutputStream(file);
sampleResized.compress(Bitmap.CompressFormat.JPEG, 90, filecon);
... 

我目前正在使用此方法。

编辑:我从Android中创建临时文件中获得解决方案

File f3=new File(Environment.getExternalStorageDirectory()+"/inpaint/");
if(!f3.exists())
    f3.mkdirs();        
OutputStream outStream = null;
File file = new File(Environment.getExternalStorageDirectory() + "/inpaint/"+"seconds"+".png");
try {
    outStream = new FileOutputStream(file);
    mBitmap.compress(Bitmap.CompressFormat.PNG, 85, outStream);
    outStream.close();
    Toast.makeText(getApplicationContext(), "Saved", Toast.LENGTH_LONG).show();
} catch (Exception e) {
    e.printStackTrace();
} 
请检查

下面的代码。以上所有代码都是正确的。但是,如果我们压缩 JPEG,与 PNG 相比,它的工作速度更快。所以最好使用JPEG来改善性能。

FileOutputStream fileOutputStream = new FileOutputStream(path);
BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream);
viewCapture.compress(CompressFormat.JPEG, 50, bos);
bos.flush();
bos.close();

对于删除,只需使用

File myFile = new File(path);
myFile.delete();

希望对您有所帮助

关闭 filecon 后,您可以使用文件的 file.delete() 方法

 File file = new File(Environment.getExternalStorageDirectory().getPath().toString()+"/ImageDB/" + fileName+".png");
    FileOutputStream filecon = new FileOutputStream(file);
    sampleResized.compress(Bitmap.CompressFormat.JPEG, 90, filecon);
    if(filecon!null=) filecon.close;
    file.delete();

获取帖子的回复,然后将其添加到:

boolean deleted = file.delete();

您可以像这样获得删除确认。

相关内容

  • 没有找到相关文章

最新更新