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获取路径
  • 相关阅读:
    解决php网页运行超时问题:Maximum execution time of 30 seconds exceeded
    C#操作Xml:XSLT语法 在.net中使用XSLT转换xml文档示例
    C#操作Xml:XPath语法 在C#中使用XPath示例
    C#操作Xml:XmlSerializer 对象的Xml序列化和反序列化
    C#操作Xml:如何定义Xsd文件
    C#操作Xml:linq to xml操作XML
    C#操作Xml:使用XmlWriter写Xml
    C#操作Xml:使用XmlReader读Xml
    C#操作Xml:通过XmlDocument读写Xml文档
    XML的序列化和反序列化 详细介绍
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/7438753.html
Copyright © 2011-2022 走看看