2011-11-21 78 views
0

我想寫一個圖像文件到我的SD卡上的目錄,它似乎並沒有工作。當我將圖像讀入字節數組時,它不會將內容寫入SD卡。代碼如下:圖像文件沒有被寫入SD卡

public void addRecord(){ 

     long id; 

     out = new ByteArrayOutputStream(128); 
     bm.compress(CompressFormat.JPEG, 100, out); 

      File sdCard = Environment.getExternalStorageDirectory(); 
      File dir = new File(sdCard + File.separator + "studentpics"); 

      if(!dir.exists()){ 

      dir.mkdir(); 

      } 

      File f = new File(sdCard + File.separator + dir.toString() + File.separator + strStudentName + ".png"); 

      try { 
      f.createNewFile(); 
      FileOutputStream fos = new FileOutputStream(f); 
      fos.write(out.toByteArray()); 

      fos.close(); 



     } catch (IOException e) { 

      e.printStackTrace(); 
     } 
    } 
+0

你什麼錯誤? – MByD

回答

0

嘗試更換

File f = new File(sdCard + File.separator + dir.toString() + File.separator + strStudentName + ".png"); 

隨着

File f = new File(dir.toString() + File.separator + strStudentName + ".png"); 
+0

這可能是原因(調用sdCard.toString()),但是,更好的方法是執行'File pics = new File(sdCard,「studentPics」);',另一個'文件圖片=新文件(圖片,strStudentName +「.png」);' – dmon

+0

感謝您的幫助,這似乎工作 – user615099

0

您可能需要請求寫入外部存儲的權限。嘗試添加此行到AndroidManifest.xml

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