可以用 Environment.getExternalStorageDirectory( ) 取得,
Android 對於 SD Card 是否插入,
可以用 Environment.getExternalStorageState( ) 判斷之,
Android 對於 SD Card 的存取權限, 必須有 android.permission.WRITE_EXTERNAL_STORAGE 權限:
範例程式碼
public class helloWorld extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.main );
Button b = (Button)this.findViewById(R.id.buttonObj);
b.setOnClickListener( new OnClickListener(){
public void onClick(View arg0) {
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) {
// 錯誤處理
}
}
});
}
}
範例結果 :