1. 程式人生 > >Android獲取檔案目錄

Android獲取檔案目錄

在Android開發過程中,難免會遇到需要檔案操作,這些檔案可以存放在data分割槽下面,也可以存放在外接sd,這些路徑都是什麼呢,今天在這裡做一個簡單的總結。

我一共用了8個系統API,程式碼如下:

tv.setText("getExternalCacheDir().getAbsolutePath():"+getExternalCacheDir().getAbsolutePath()+"\n"
+"getDataDir().getAbsolutePath():"+getDataDir().getAbsolutePath()+"\n"
+"getFilesDir().getAbsolutePath():"
+getFilesDir().getAbsolutePath()+"\n" +"getCacheDir().getAbsolutePath()"+getCacheDir().getAbsolutePath()+"\n" +"Environment.getDataDirectory():"+Environment.getDataDirectory().getAbsolutePath()+"\n" +"Environment.getDownloadCacheDirectory():"+Environment.getDownloadCacheDirectory().getAbsolutePath()+"
\n" +"Environment.getExternalStorageDirectory()"+Environment.getExternalStorageDirectory().getAbsolutePath()+"\n" +"Environment.getRootDirectory()"+Environment.getRootDirectory().getAbsolutePath()+"\n");
執行結果如下:


附加問題:為什麼很多Android應用要把檔案寫到/sdcard目錄下而不是寫到/data/data/目錄下?

解答:

SD卡上也有一個資料夾 /Android/data/包名,這個資料夾也是用來給程式放應用資料的,此資料夾讀寫在4.4及以後不需要外接儲存區讀寫許可權。這兩個資料夾區別在於 data 分割槽有許可權控制,除非應用自己同意,否則其他應用無法讀取內部的資料,而sdcard/Android下的檔案只要有外接空間讀取許可權就可以讀取。所以data下一般放私密資訊,而sdcard/Android 下放可以公開的快取資料。

相關推薦

Android獲取檔案目錄

在Android開發過程中,難免會遇到需要檔案操作,這些檔案可以存放在data分割槽下面,也可以存放在外接sd,這些路徑都是什麼呢,今天在這裡做一個簡單的總結。 我一共用了8個系統API,程式碼如下:

Android獲取assets目錄下的檔案和圖片

      在android studio中預設不會像eclipse一樣自動新建assets檔案,首先將android studio的檢視切換到project下,src/man下直接新建檔案命名為assets即可。       1、獲取圖片 Bitmap bitmap = n

android 根據Uri獲取檔案目錄

//呼叫錄影Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(intent, CASE_VIDEO);//獲取系統中的視訊protected void se

Android獲取Assets目錄下文字檔案

程式碼例項: 獲取assets目錄下的txt文字,並顯示到元件上. 核心程式碼: private void findViews(){ ​TextView tv = (TextView)findviewById(R.id.tv1); ​try{

Android獲取檔案的mimeType的封裝

概述 MIME(Multipurpose Internet Mail Extensions)多用途網際網路郵件擴充套件型別。是設定某種副檔名的檔案用一種應用程式來開啟的方式型別,當該副檔名檔案被訪問的時候,瀏覽器會自動使用指定應用程式來開啟。多用於指定一

Android 獲取檔案大小

public class FileSizeUtil { public static final int SIZETYPE_B = 1;// 獲取檔案大小單位為B的double值 public static final int SIZETYPE_KB = 2;// 獲取檔案大小單位為K

android 獲取路徑目錄方法 以及 獲取路徑方法

Environment 常用方法: * 方法:getDataDirectory()解釋:返回 File ,獲取 Android 資料目錄。* 方法:getDownloadCacheDirectory()解釋:返回 File ,獲取 Android 下載/快取內容目錄。* 方

Android 獲取檔案的大小以及檔名稱

// 檔案的真實路徑 String filePath = Environment.getExternalStorageDirectory().getAbsolutePath()

[Android] 獲取檔案的MIME型別

需求: 輸入:File物件 輸出:String物件(MIMEl型別) 實現步驟: 1. 獲得獲取檔案的副檔名 private static String getExtension(final File file) { String suffix = "";

android獲取檔案getMimeType的兩種方法

方法1: import java.util.Locale; private static String getSuffix(File file) { if (file == null || !file.exists() || file.isDire

Android獲取SDcard目錄及建立資料夾;

獲取sdcard目錄 public static String getSDPath() { File sdDir = null; boolean sdCard

Python獲取檔案目錄下視訊時長、大小、並寫入excle檔案

關鍵詞:os moviepy xlwt # -*- coding=utf-8 -*- import os import sys import xlwt from moviepy.editor import VideoFileClip file_dir = u"G:/視訊

Android系統檔案目錄路徑說明

資料儲存路徑,如下:其中應用程式包名為:com.spt ContextWrapper類中,包含以下方法 getFilesDir() --> 內部儲存 @Override public File getFilesDir() { return mB

Android獲取檔案的MD5值

package my.bag; import Java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; import java.util.Ha

cmd獲取檔案目錄列表並圖示層級關係

轉自: 獲取檔案目錄列表並圖示 tree C:\girl-face-rec /f    Microsoft Windows [版本 6.1.7601] 版權所有 (c) 2009 Microsoft Corporation。保留所有權利。 C:\Users

android 獲取指定路徑下所有檔案,將檔案從一個目錄copy到另一個目錄,執行linux命令

/** * 複製整個資料夾內容 ,可以從data/data/包名下 拷貝到 data/data/包名下。也可以copy到 /sdcard 下 * @param oldPath String 原檔案路徑 如:c:/fqf

獲取Android應用程式包檔案目錄---ApplicationInfo

ApplicationInfo是從一個特定的應用得到的資訊。這些資訊是從相對應的Androdimanifest.xml的< application>標籤中收集到的,可獲取應用程式啟動Activity的name。   // 根據查詢條件,查詢特定的ApplicationI

Android中如何獲取asset目錄下的ini檔案

     private void getBootUrl(Context context) throws IOException {Log.d(TAG, "getBootUrl() start");InputStream is = null;BufferedReader in = null;try {is

android獲取目錄檔案values/arrays.xml資料的方法,簡易快捷

在Android中,用string-array是一種簡單的提取XML資原始檔資料的方法。 例: 把相應的資料放到values/arrays.xml檔案裡 <?xml version="1.0" encoding="utf-8"?> <r

Android如何獲取asset目錄下所有檔案的路徑

package com.hangcheng.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream