2012-09-24 13 views
5

私は、写真のディレクトリにビットマップを保存しようとしています。ここmnt/は、私が過去OutputStream out = new FileOutputStream(file);を得ることができなかった理由を犯人コードを/ mnt/SDカードおよび/ SDカードの違いはありますか?

  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); 
      } 

ですが、実行には、私は、デバッガを使用し、完全なパスがmnt/sdcard/Pictures/test1.PNG返しOutputStream out = new FileOutputStream(file); で捕まってしまいましたか?私のファイルディレクトリにはsdcard/しか見ることができません。

ありがとうございました!あなたが取得し、OSがアクセスしたかというMNT/SDカードまたはSDカード/そのデバイスに依存するディレクトリとしてこのEnvironment.getExternalStorageDirectory()を使用したSDカードのディレクトリにアクセスし、外部ディレクトリに必要を使用することはできません。この

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

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

を使用.. ?? –

+1

エラーは何ですか? – njzk2

答えて

1

よう

+1

お返事ありがとうございます、時間を感謝します。それは1がWRITE_EXTERNAL_STORAGEのアクセス許可を設定する必要があります動作するように明らかにするために、私はこの部分を見落としもMKDIR後それゆえにFileNotFoundException()と呼ばれています。 – user1694345

0

使用別のデバイスと異なるディレクトリを心配するために、このメソッドによって返されました。

EDIT

外部ストレージにアクセスするための許可を必要と

WRITE_EXTERNAL_STORAGE 
3

/sdcard/mnt/sdcard ... と/sdcardへのソフトリンクは、専用のファイルシステムに読み込まれているユーザー権限としてandroidmanifest.xmlファイルで定義その優れた「パス」の値がどのようなものです/mnt/sdcard/ ..

関連する問題