使用Activity的openFileOutput()方法保存文件,文件是存放在手機(jī)空間上,一般手機(jī)的存儲(chǔ)空間不是很大,存放些小文件還行,如果要存放像視頻這樣的大文件,是不可行的。對(duì)于像視頻這樣的大文件,我們可以把它存放在SDCard。 SDCard是干什么的?你可以把它看作是移動(dòng)硬盤或U盤。
       在模擬器中使用SDCard,你需要先創(chuàng)建一張SDCard卡(當(dāng)然不是真的SDCard,只是鏡像文件)。創(chuàng)建SDCard可以在Eclipse創(chuàng)建模擬器時(shí)隨同創(chuàng)建,也可以使用DOS命令進(jìn)行創(chuàng)建,如下:
在Dos窗口中進(jìn)入android SDK安裝路徑的tools目錄,輸入以下命令創(chuàng)建一張容量為2G的SDCard,文件后綴可以隨便取,建議使用.img:
mksdcard 2048M D:\AndroidTool\sdcard.img
     

       要往SDCard存放文件,程序必須先判斷手機(jī)是否裝有SDCard,并且可以進(jìn)行讀寫。
注意:訪問(wèn)SDCard必須在AndroidManifest.xml中加入訪問(wèn)SDCard的權(quán)限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
         File sdCardDir = Environment.getExternalStorageDirectory();//獲取SDCard目錄
         File saveFile = new File(sdCardDir, “gaolei.txt”);
         FileOutputStream outStream = new FileOutputStream(saveFile);
         outStream.write("abc".getBytes());
         outStream.close();
}


      Environment.getExternalStorageState()方法用于獲取SDCard的狀態(tài),如果手機(jī)裝有SDCard,并且可以進(jìn)行讀寫,

那么方法返回的狀態(tài)等于Environment.MEDIA_MOUNTED。
          

      Environment.getExternalStorageDirectory()方法用于獲取SDCard的目錄,當(dāng)然要獲取SDCard的目錄,你也可以這樣寫:
File sdCardDir = new File("/mnt/sdcard"); //獲取SDCard目錄
File saveFile = new File(sdCardDir, "gaolei.txt"); 
//上面兩句代碼可以合成一句: File saveFile = new File("/mnt/sdcard/gaolei.txt");
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("abc".getBytes());
outStream.close();