Android 存取 SD Card 檔案

摘要:Android 存取 SD Card 檔案

 

File vSDCard = null;
            
            try {
               // 判斷 SD Card 有無插入
               if( Environment.getExternalStorageState().equals(Environment.MEDIA_REMOVED) )
                  return;
               else
               {
                  // 取得 SD Card 位置
                  vSDCard = Environment.getExternalStorageDirectory();
               }
               
               // 判斷目錄是否存在
               File vPath = new File( vSDCard.getParent() + vSDCard.getName() + "/tom" );
               if( !vPath.exists() )
                  vPath.mkdirs();
               
               // 寫入檔案
               FileWriter vFile = new FileWriter( vSDCard.getParent() + vSDCard.getName() + "/tom/myTest.txt" );
               vFile.write("Hello Android");
               vFile.close();
             
            } catch (Exception e) {
               // 錯誤處理
            }
         }
可以用 Environment.getExternalStorageDirectory( ) 取得,
 
Android 對於 SD Card 是否插入,
 
可以用 Environment.getExternalStorageState( ) 判斷之,
 

在寫入檔案前,必須檢查SD記憶卡是否已滿

stat.getAvailableBlocks();

 
Android 對於 SD Card 的存取權限, 必須有 android.permission.WRITE_EXTERNAL_STORAGE 權限