2012-09-24 21 views
5

Bir bit eşlemi Pictures dizinine kaydetmeye çalışıyorum. İşte mnt/, ben geçmiş OutputStream out = new FileOutputStream(file); alamadım neden suçlu kodu/mnt/sdcard ve/sdcard arasında bir fark var mı?

  File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); 

      File file = new File(path, "test1.PNG"); 
      try { 
        path.mkdirs(); 
        OutputStream out = new FileOutputStream(file); 
        mBitmap.compress(Bitmap.CompressFormat.PNG, 90, out); 
        out.flush(); 
        out.close(); 

      } catch (Exception e) { 
        e.printStackTrace(); 
        Log.w("ExternalStorage", "Error writing " + file, e); 
      } 

var Ama yürütme ben hata ayıklayıcı kullanılan ve tam yol mnt/sdcard/Pictures/test1.PNG döndürür OutputStream out = new FileOutputStream(file); de saplanıp? Çünkü dosya dizinimde sadece sdcard/'u görebiliyorum.

Teşekkürler! Sen almak ve OS erişim ne kadar olduğunu mnt/sdcard veya sdcard/onun bir cihaz bağımlı dizin olarak bu Environment.getExternalStorageDirectory() kullanarak sdcard dizinine erişmek ve dış dizini gerek kullanabileceğiniz bu

String filePath = "/sdcard/yourfile.txt"; 

FileOutputStream os = null; 
os = new FileOutputStream(filePath); 
os.write(write it to file); 
os.close(); 
+0

'Yol' değeri nedir .. ?? –

+1

hata nedir? – njzk2

cevap

1

gibi

+1

Cevabınız için çok teşekkürler, zaman ayırın. Görünüşe göre çalışması için WRITE_EXTERNAL_STORAGE için izin ayarlamanız gerekir, bu bölümü ve dolayısıyla mkdir() çağrıldıktan sonra FileNotFoundException gözardı ettim. – user1694345

0

kullanımı Farklı bir cihaz için endişelenmek ve farklı bir dizin bu yöntemle geri döndü.

harici depolama erişen için DÜZENLEME

WRITE_EXTERNAL_STORAGE 
3

/sdcard dosya sisteminde salt okunur /mnt/sdcard ... ve /sdcard softlink olan iznine ihtiyaç ve kullanıcı izni olarak androidmanifest.xml dosyasında tanımlamak çok daha iyi /mnt/sdcard/ kullanın.

İlgili konular