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

 package com.example.readwrite;

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log; /**
* 正斜杠代表根目录 两种最常见的数据存储方式
*
* 一、内存 二、本地 1.手机内部存储 2.外部存储设备(SD卡)
* */
public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// existSDcard();
// write();
listPath();
//read();
} private void write() {
// /mnt/sdcard
File file = Environment.getExternalStorageDirectory();
FileOutputStream out = null;
try {
out = new FileOutputStream(file.getPath() + "/fanfan.txt");
// out = new FileOutputStream(
// "/data/data/com.example.readwrite/fanfan.txt");
out.write("12345".getBytes());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} private void read() {
FileInputStream in = null;
try {
// in = new FileInputStream("/mnt/sdcard/fanfan.txt");
in = new FileInputStream(
"/data/data/com.jiguang.test/databases/rep.db");
byte[] bytes = new byte[2014];
int len = in.read(bytes);
String str = new String(bytes, 0, len);
Log.d("fanfan", "---------" + str);
} catch (IOException e) {
Log.d("fanfan","报错啦"+e.toString());
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} /**
* 检查SD卡是否被挂载
* */
private void existSDcard() {
// 获取SD卡的状态
String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) {
Log.d("fanfan", "有SD卡");
} else {
Log.d("fanfan", "没有SD卡");
}
} /**
* 通过API获取路径
* */
private void listPath() {
// 获取SD卡目录
File file1 = Environment.getExternalStorageDirectory();
Log.d("fanfan", "sd卡----" + file1.getPath());
// 获取手机内部存储空间的file目录
File file2 = getFilesDir();
Log.d("fanfan", "内部存储File----" + file2.getPath());
// 获取内部存储空间的缓存目录
File file3 = getCacheDir();
Log.d("fanfan", "内部存储缓存目录----" + file3.getPath());
}
}

获取路径

     /**
* 检查SD卡是否被挂载
* */
private void existSDcard() {
// 获取SD卡的状态
String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) {
Log.d("fanfan", "有SD卡");
} else {
Log.d("fanfan", "没有SD卡");
}
}

检查SD卡是否被挂载

     /**
* 通过API获取路径
* */
private void listPath() {
// 获取SD卡目录
File file1 = Environment.getExternalStorageDirectory();
Log.d("fanfan", "sd卡----" + file1.getPath());
// 获取手机内部存储空间的file目录
File file2 = getFilesDir();
Log.d("fanfan", "内部存储File----" + file2.getPath());
// 获取内部存储空间的缓存目录
File file3 = getCacheDir();
Log.d("fanfan", "内部存储缓存目录----" + file3.getPath());
}

通过API获取路径

获取android的SDK或者手机目录路径的更多相关文章

  1. 获取web项目中的webroot目录路径

    备忘,一段代码: @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-genera ...

  2. (转)获取android手机内部存储空间和外部存储空间的参数 && 如何决定一个apk的安装位置

    转:http://blog.csdn.net/zhandoushi1982/article/details/8560233 获取android文件系统的信息,需要Environment类和StatFs ...

  3. Android获取内置sdcard跟外置sdcard路径

    Android获取内置sdcard跟外置sdcard路径.(测试过两个手机,亲测可用) 1.先得到外置sdcard路径,这个接口是系统提供的标准接口. 2.得到上一级文件夹目录 3.得到该目录的所有文 ...

  4. iOS中获取各种文件的目录路径的方法

    我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...

  5. android 内部缓存器(手机自带的存储空间中的当前包文件的路径)

    关于Context中: 1. getCacheDir()方法用于获取/data/data/<application package>/cache目录 2. getFilesDir()方法用 ...

  6. android获取内置和外置SD卡路径 - z

    本文将介绍Android真机环境下如何获取内置和外置SD卡路径. 测试环境:三星Note3,其他手机待测试... 所需权限(AndroidManifest.xml文件里) <uses-permi ...

  7. Android ADB工具-操作手机和获取手设备信息(四)

    Android ADB工具-操作手机和获取手设备信息(四) 标签(空格分隔): Android ADB 6. 其它命令 命令 功能 adb shell input text <content&g ...

  8. iOS 获取文件的目录路径的几种方法 [转]

    iOS 获取文件的目录路径的几种方法 2 years ago davidzhang iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. d ...

  9. 获取Android 手机屏幕宽度和高度以及获取Android手机序列号

    1.获取Android 手机屏幕宽度 1 DisplayMetrics dm = new DisplayMetrics(); 2 this.getWindowManager().getDefaultD ...

随机推荐

  1. css样式变 及实际用法

    <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con ...

  2. shiro登陆权限验证

    一>引入shirojar包 <!-- shiro登陆权限控制 -->        <dependency>            <groupId>org. ...

  3. 【Oracle】数据迁移工具(1):SQL Loader

    SQL Loader是一种数据加载工具,可以把外部数据加载到Oracle数据库中.SQL Loader中的参数有很多,本文只在第一部分中列出常用参数.要想运用SQL Loader工具 ,需要我们编辑一 ...

  4. 10--C++多态

    C++多态 C++多态技术 摘要 本文描述了C++中的各种多态性.重点阐述了面向对象的动态多态和基于模板的静态多态,并初步探讨了两种技术的结合使用. 关键词 多态  继续  虚函数  模板  宏  函 ...

  5. spring 回顾

    主要就是它的IOC理念 即:把对象的创建.初始化.销毁等工作交给spring容器来做 依赖jar

  6. react性能调谐与diff算法

    一个页面其实就相当于是一颗dom树,里面有很多它的子节点,然后你每次去操作一个事件,它都会生成一个虚拟dom,它会跟上一个虚拟dom进行比对,这里运用的算法叫做diff算法,当它找到需要改变的组件的时 ...

  7. redis得配置及使用

    http://www.cnblogs.com/huskyking/p/6004772.html

  8. BZOJ 3450: Tyvj1952 Easy 数学期望

    Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) ...

  9. Lua的热更新学习笔记_01

    热更新的的实现方式 1.使用lua脚本编写游戏的UI或者其他的逻辑 2.使用C#的反射技术 3.使用C#Light AssetBundle是什么? 1.unity提供一个资源更新技术,就是通过Asse ...

  10. java环境搭建心得

     右击此电脑,点击属性, 在打开的电脑系统对话框里发电机i直接点击左侧导航里的[高级系统设置]在打开的电脑系统属性对话框里直接点击下面的[环境变量] 打开环境变量对话框后,直接点击系统变量下面的新建, ...