zoukankan      html  css  js  c++  java
  • 获取android的SDK或者手机目录路径

    获取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获取路径
  • 相关阅读:
    设计模式系列
    Python3 系列之 可变参数和关键字参数
    设计模式系列
    【HANA系列】SAP HANA ODBC error due to mismatch of version
    【FICO系列】SAP FICO FS00修改科目为未清项目管理
    【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍
    【HANA系列】SAP HANA SQL获取当前日期加若干天后的日期
    【HANA系列】SAP HANA SQL获取本周的周一
    【HANA系列】SAP HANA SQL获取当前日期
    【HANA系列】SAP HANA SQL获取当前日期最后一天
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7438753.html
Copyright © 2011-2022 走看看