2014-04-01 14 views
7

Ich bin auf der Suche nach einer Möglichkeit, eine Bitmap-Datei vorübergehend in Android-Dateisystem zu speichern. Die Datei wird nur benötigt, bis sie als Teil einer POST-Anfrage an einen Server verwendet wird, nach der sie nicht mehr existieren soll. Ich suche den schnelleren Weg, dies zu tun.Android Bitmap Bild speichern vorübergehend

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

Ich verwende derzeit diese Methode.

EDIT: Ich habe meine Lösung von Creating temporary files in Android

Antwort

8
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(); 
} 
0

Sie können Datei file.delete() Verfahren, nach dem Schließen filecon

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(); 
0

Erhalten Sie die Antwort Ihrer Post und dann fügen Sie diese in Verwendung:

boolean deleted = file.delete();

Sie können die Löschung so bestätigen.

0
Please check the below code. All the above codes are right.But if we compress JPEG it work fast as compare to PNG. So Better to use JPEG to imporove performance.. 

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


For Delete just use 

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

Hoffnung seiner hilfreich für Sie

Verwandte Themen