Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 安卓系統中的文件讀寫操作

安卓系統中的文件讀寫操作

編輯:關於Android編程

權限


    
    ...
WRITE_EXTERNAL_STORAGE 已經隱含了讀取權限

得到當前應用下的路徑文件

File file = new File(context.getFilesDir(), filename);

寫文件

String filename = myfile;
String string = Hello world!;
FileOutputStream outputStream;

try {
  outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
  outputStream.write(string.getBytes());
  outputStream.close();
} catch (Exception e) {
  e.printStackTrace();
}

緩存文件

public File getTempFile(Context context, String url) {
    File file;
    try {
        String fileName = Uri.parse(url).getLastPathSegment();
        file = File.createTempFile(fileName, null, context.getCacheDir());
    catch (IOException e) {
        // Error while creating file
    }
    return file;
}

SD卡是否可用

/* SD卡是否可寫 */
public boolean isExternalStorageWritable() {
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        return true;
    }
    return false;
}

/* SD卡是否可讀 */
public boolean isExternalStorageReadable() {
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state) ||
        Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        return true;
    }
    return false;
}

創建文件

創建一個公共文件,當程序被卸載時,該文件依然存在

public File getAlbumStorageDir(String albumName) {
    //Environment.DIRECTORY_PICTURES為文件夾名稱,這裡使用的是系統常量
    File file = new File(Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES), albumName);
    if (!file.mkdirs()) {
        Log.e(LOG_TAG, Directory not created);
    }
    return file;
}

創建一個文件,當程序被卸載時,該文件將被刪除

public File getAlbumStorageDir(Context context, String albumName) {
    //如果沒有適合的子目錄名稱,可以改為調用 getExternalFilesDir() 並傳遞 null。這將返回外部存儲上該應用的專用目錄的根目錄。
    File file = new File(context.getExternalFilesDir(
            Environment.DIRECTORY_PICTURES), albumName);
    if (!file.mkdirs()) {
        Log.e(LOG_TAG, Directory not created);
    }
    return file;
}
諸如 DIRECTORY_PICTURES 的 API 常數提供的目錄名稱非常重要。 這些目錄名稱可確保系統正確處理文件。 例如,保存在 DIRECTORY_RINGTONES 中的文件由系統介質掃描程序歸類為鈴聲,而不是音樂。

刪除文件

常規方法

myFile.delete();

如果文件保存在內部存儲中,還可以請求 Context 通過調用 deleteFile() 來定位和刪除文件:

myContext.deleteFile(fileName);

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved