获取android的SDK或者手机目录路径_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > 获取android的SDK或者手机目录路径

获取android的SDK或者手机目录路径

 2017/8/27 10:08:43  钻石VIP  程序员俱乐部  我要评论(0)
  • 摘要:获取android的SDK或者手机目录路径Google为我们提供了API来获取SDK或者手机目录路径:1、获取SD卡目录Filefile1=Environment.getExternalStorageDirectory();2、获取手机内部存储空间的file目录Filefile2=getFilesDir();3、获取内部存储空间的缓存目录Filefile3=getCacheDir();4、检查SD是否被挂载Stringstate=Environment
  • 标签:SDK 手机 android 目录

获取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

class="code_img_closed" src="/Upload/Images/2017082710/0015B68B3C38AA5B.gif" alt="">
  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 }
logs_code_collapse">获取路径
 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获取路径

 

发表评论
用户名: 匿名