擷取android的SDK或者手機目錄路徑

來源:互聯網
上載者:User

標籤:extend   base   leo   readwrite   except   tab   mount   儲存空間   sts   

擷取android的SDK或者手機目錄路徑

Google為我們提供了API來擷取SDK或者手機目錄路徑:

1、擷取SD卡目錄

  File file1 = Environment.getExternalStorageDirectory();

2、擷取手機內部儲存空間的file目錄

  File file2 = getFilesDir();

3、擷取內部儲存空間的緩衝目錄

  File file3 = getCacheDir();

4、檢查SD是否被掛載

  String state = Environment.getExternalStorageState();

  如果 state==“mounted” 表示被掛載

 

代碼:

com.example.readwrite.MainActivity

  1 package com.example.readwrite;  2   3 import java.io.File;  4 import java.io.FileInputStream;  5 import java.io.FileOutputStream;  6 import java.io.IOException;  7   8 import android.app.Activity;  9 import android.os.Bundle; 10 import android.os.Environment; 11 import android.util.Log; 12  13 /** 14  * 正斜杠代表根目錄 兩種最常見的資料存放區方式 15  *  16  * 一、記憶體 二、本地 1.手機內部儲存 2.外部存放裝置(SD卡) 17  * */ 18 public class MainActivity extends Activity { 19  20     @Override 21     protected void onCreate(Bundle savedInstanceState) { 22         super.onCreate(savedInstanceState); 23         setContentView(R.layout.activity_main); 24         // existSDcard(); 25         // write(); 26         listPath(); 27         //read(); 28     } 29  30     private void write() { 31         // /mnt/sdcard 32         File file = Environment.getExternalStorageDirectory(); 33         FileOutputStream out = null; 34         try { 35             out = new FileOutputStream(file.getPath() + "/fanfan.txt"); 36             // out = new FileOutputStream( 37             // "/data/data/com.example.readwrite/fanfan.txt"); 38             out.write("12345".getBytes()); 39         } catch (IOException e) { 40             e.printStackTrace(); 41         } finally { 42             if (out != null) { 43                 try { 44                     out.close(); 45                 } catch (IOException e) { 46                     // TODO Auto-generated catch block 47                     e.printStackTrace(); 48                 } 49             } 50         } 51     } 52  53     private void read() { 54         FileInputStream in = null; 55         try { 56             // in = new FileInputStream("/mnt/sdcard/fanfan.txt"); 57             in = new FileInputStream( 58                     "/data/data/com.jiguang.test/databases/rep.db"); 59             byte[] bytes = new byte[2014]; 60             int len = in.read(bytes); 61             String str = new String(bytes, 0, len); 62             Log.d("fanfan", "---------" + str); 63         } catch (IOException e) { 64             Log.d("fanfan","報錯啦"+e.toString()); 65         } finally { 66             if (in != null) { 67                 try { 68                     in.close(); 69                 } catch (IOException e) { 70                     e.printStackTrace(); 71                 } 72             } 73         } 74     } 75  76     /** 77      * 檢查SD卡是否被掛載 78      * */ 79     private void existSDcard() { 80         // 擷取SD卡的狀態 81         String state = Environment.getExternalStorageState(); 82  83         if (Environment.MEDIA_MOUNTED.equals(state)) { 84             Log.d("fanfan", "有SD卡"); 85         } else { 86             Log.d("fanfan", "沒有SD卡"); 87         } 88     } 89  90     /** 91      * 通過API擷取路徑 92      * */ 93     private void listPath() { 94         // 擷取SD卡目錄 95         File file1 = Environment.getExternalStorageDirectory(); 96         Log.d("fanfan", "sd卡----" + file1.getPath()); 97         // 擷取手機內部儲存空間的file目錄 98         File file2 = getFilesDir(); 99         Log.d("fanfan", "內部儲存File----" + file2.getPath());100         // 擷取內部儲存空間的緩衝目錄101         File file3 = getCacheDir();102         Log.d("fanfan", "內部儲存緩衝目錄----" + file3.getPath());103     }104 }
擷取路徑
 1     /** 2      * 檢查SD卡是否被掛載 3      * */ 4     private void existSDcard() { 5         // 擷取SD卡的狀態 6         String state = Environment.getExternalStorageState(); 7  8         if (Environment.MEDIA_MOUNTED.equals(state)) { 9             Log.d("fanfan", "有SD卡");10         } else {11             Log.d("fanfan", "沒有SD卡");12         }13     }
檢查SD卡是否被掛載
 1     /** 2      * 通過API擷取路徑 3      * */ 4     private void listPath() { 5         // 擷取SD卡目錄 6         File file1 = Environment.getExternalStorageDirectory(); 7         Log.d("fanfan", "sd卡----" + file1.getPath()); 8         // 擷取手機內部儲存空間的file目錄 9         File file2 = getFilesDir();10         Log.d("fanfan", "內部儲存File----" + file2.getPath());11         // 擷取內部儲存空間的緩衝目錄12         File file3 = getCacheDir();13         Log.d("fanfan", "內部儲存緩衝目錄----" + file3.getPath());14     }
通過API擷取路徑

 

擷取android的SDK或者手機目錄路徑

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.