1. 得到存放裝置的目錄:/SDCARD(一般情況下)
SDPATH=Environment.getExternalStorageDirectory()+"/";
2. 判斷SD卡上的檔案夾是否存在:通過File對象的exists()方法。
/**
* 判斷檔案是否已經存在;
*
/
public boolean checkFileExists(String filepath) {
File file=new File(SDPATH+filepath);
return file.exists();
}
3.在SD卡上建立目錄:通過File對象的mkdir()方法實現。
/*
* 在SD卡上建立目錄;
*/
public File createDIR(String dirpath) {
File dir=new File(SDPATH+dirpath);
dir.mkdir();
return dir;
}
4.在SD卡上建立檔案:通過File對象的createNewFile()方法實現。
/*
* 在SD卡上建立檔案;
*/
public File createFile(String filepath) throws IOException{
File file=new File(SDPATH+filepath);
file.createNewFile();
return file;
}
5.將InputStream位元組流寫入到SD卡檔案中。
/**
* 將一個InputStream中的資料寫入至SD卡中
*/
public File writeStreamToSDCard(String dirpath,String filename,InputStream input) {
File file = null;
OutputStream output=null;
try {
//建立目錄;
createDIR(dirpath);
//在建立 的目錄上建立檔案;
file = createFile(dirpath+filename);
output=new FileOutputStream(file);
byte[]bt=new byte[4*1024];
while (input.read(bt)!=-1) {
output.write(bt);
}
//重新整理緩衝,
output.flush();
} catch (IOException e) {
e.printStackTrace();
}
finally{
try{
output.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
return file;
}
6. 訪問的許可權:
需在AndroidManifest中加上:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>