SORU
25 Ocak 2010, PAZARTESİ


Nasıl otomatik olarak SD kart üzerinde dizin oluşturmak için

Aşağıdaki konuma dosya kaydetmek için çalışıyorum
FileOutputStream fos = new FileOutputStream("/sdcard/Wallpaper/" fileName); ama sitede istisna java.io.FileNotFoundException alıyorum
"/sdcard/" olarak yoluna koyunca, çalışır.

Şimdi dizini otomatik olarak bu şekilde oluşturmak mümkün değilim herhalde.

Birisi kod) directory and sub-directory oluşturmak için ne önerebilirsiniz?

CEVAP
25 Ocak 2010, PAZARTESİ


Eğer üst düzey dizin sarar File bir nesne oluşturursanız tüm gerekli dizinler oluşturmak için 9 ** yöntemini çağırabilirsiniz. Gibi bir şey

// create a File object for the parent directory
File wallpaperDirectory = new File("/sdcard/Wallpaper/");
// have the object build the directory structure, if needed.
wallpaperDirectory.mkdirs();
// create a File object for the output file
File outputFile = new File(wallpaperDirectory, filename);
// now attach the OutputStream to the file object, instead of a String representation
FileOutputStream fos = new FileOutputStream(outputFile);

Not:Belki de bunun akıllıca kullanın Environment.getExternalStorageDirectory() için "SD Kart" dizini olarak bu değişebilir eğer bir telefon gelir olan bir şey başka bir SD Kart (dahili flash, A'la iPhone). Ya aslında orada SD Kart olarak emin olmak için kontrol etmeniz gerektiğini aklınızda tutmanız gereken şekilde kaldırılabilir.

GÜNCELLEME:API beri Seviye 4 (1.6) da izni talep etmek zorundasın. Böyle bir şey (bildirimde) çalışması gerekir:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • arnejann

    arnejann

    3 Kasım 2007
  • efaustus9

    efaustus9

    16 HAZİRAN 2006
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008