我正在寻找一种将位图文件临时保存在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();
您可以像这样获得删除确认。