android的檔案操作要有許可權:
判斷SD卡是否插入
Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
獲得sd卡根目錄
File skRoot = Environment.getExternalStorageDirectory();
獲得私人根目錄
File fileRoot = Context.getFilesDir()+"";
確定或獲得檔案夾和檔案路徑
String path = File.getPath();//相對
String path = File.getAbsoultePath();//絕對
獲得檔案或檔案夾的父目錄
String parentPath = File.getParent()
獲得檔案或檔案夾的名稱:
String Name = File.getName();
建立檔案或檔案夾
File.createNewFile();//建立檔案
判斷是檔案或檔案夾
File.isDirectory()
列出檔案夾下的所有檔案和檔案夾名
File[] files = File.listFiles();
修改檔案夾和檔案名稱
File.renameTo(dest);
刪除檔案夾或檔案
File.delete();
檔案讀寫操作模式
Context.MODE_PRIVATE:新內容覆蓋原內容
Context.MODE_APPEND:新內容追加到原內容後
Context.MODE_WORLD_READABLE:允許其他應用程式讀取
Context.MODE_WORLD_WRITEABLE:允許其他應用程式寫入,會覆蓋原資料。
/*** 儲存檔案
* @param fileName
* @param fileContent
* @throws Exception*/
public void save(String fileName, String fileContent) throws Exception {
// Activity的父類的父類就是context,context與其他架構中的context相同為我們以供了一些核心操作工具。
FileOutputStream fileOutputStream = this.context.openFileOutput(
fileName, Context.MODE_PRIVATE);
fileOutputStream.write(fileContent.getBytes());
}
/**
* 讀取檔案
*
* @param fileName
* @return
* @throws Exception
*/
public String read(String fileName) throws Exception {
FileInputStream fileInputStream = this.context.openFileInput(fileName);
ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fileInputStream.read(buffer)) > 0) {
byteArray.write(buffer, 0, len);
};
return byteArray.toString();
}
}