少年恃险若平地,独倚长剑凌清秋。这篇文章主要讲述获取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 21protected void onCreate(Bundle savedInstanceState) { 22super.onCreate(savedInstanceState); 23setContentView(R.layout.activity_main); 24// existSDcard(); 25// write(); 26listPath(); 27//read(); 28} 29 30private void write() { 31// /mnt/sdcard 32File file = Environment.getExternalStorageDirectory(); 33FileOutputStream out = null; 34try { 35out = new FileOutputStream(file.getPath() + "/fanfan.txt"); 36// out = new FileOutputStream( 37// "/data/data/com.example.readwrite/fanfan.txt"); 38out.write("12345".getBytes()); 39} catch (IOException e) { 40e.printStackTrace(); 41} finally { 42if (out != null) { 43try { 44out.close(); 45} catch (IOException e) { 46// TODO Auto-generated catch block 47e.printStackTrace(); 48} 49} 50} 51} 52 53private void read() { 54FileInputStream in = null; 55try { 56// in = new FileInputStream("/mnt/sdcard/fanfan.txt"); 57in = new FileInputStream( 58"/data/data/com.jiguang.test/databases/rep.db"); 59byte[] bytes = new byte[2014]; 60int len = in.read(bytes); 61String str = new String(bytes, 0, len); 62Log.d("fanfan", "---------" + str); 63} catch (IOException e) { 64Log.d("fanfan","报错啦"+e.toString()); 65} finally { 66if (in != null) { 67try { 68in.close(); 69} catch (IOException e) { 70e.printStackTrace(); 71} 72} 73} 74} 75 76/** 77* 检查SD卡是否被挂载 78* */ 79private void existSDcard() { 80// 获取SD卡的状态 81String state = Environment.getExternalStorageState(); 82 83if (Environment.MEDIA_MOUNTED.equals(state)) { 84Log.d("fanfan", "有SD卡"); 85} else { 86Log.d("fanfan", "没有SD卡"); 87} 88} 89 90/** 91* 通过API获取路径 92* */ 93private void listPath() { 94// 获取SD卡目录 95File file1 = Environment.getExternalStorageDirectory(); 96Log.d("fanfan", "sd卡----" + file1.getPath()); 97// 获取手机内部存储空间的file目录 98File file2 = getFilesDir(); 99Log.d("fanfan", "内部存储File----" + file2.getPath()); 100// 获取内部存储空间的缓存目录 101File file3 = getCacheDir(); 102Log.d("fanfan", "内部存储缓存目录----" + file3.getPath()); 103} 104 }
获取路径
文章图片
文章图片
1/** 2* 检查SD卡是否被挂载 3* */ 4private void existSDcard() { 5// 获取SD卡的状态 6String state = Environment.getExternalStorageState(); 7 8if (Environment.MEDIA_MOUNTED.equals(state)) { 9Log.d("fanfan", "有SD卡"); 10} else { 11Log.d("fanfan", "没有SD卡"); 12} 13}
检查SD卡是否被挂载
文章图片
文章图片
1/** 2* 通过API获取路径 3* */ 4private void listPath() { 5// 获取SD卡目录 6File file1 = Environment.getExternalStorageDirectory(); 7Log.d("fanfan", "sd卡----" + file1.getPath()); 8// 获取手机内部存储空间的file目录 9File file2 = getFilesDir(); 10Log.d("fanfan", "内部存储File----" + file2.getPath()); 11// 获取内部存储空间的缓存目录 12File file3 = getCacheDir(); 13Log.d("fanfan", "内部存储缓存目录----" + file3.getPath()); 14}
通过API获取路径【获取android的SDK或者手机目录路径】
推荐阅读
- Android零基础入门第47节(自动完成文本框AutoCompleteTextView)
- 在android中读写文件
- Android学习笔记06
- 修改android手机文件权限
- Android集成第三方微信登录
- AndroidFragment中调用getActivity为null的问题
- Android子线程进度条不显示的问题
- Android 那些年,处理getActivity()为null的日子
- HTML5 Plus移动App(5+App)开发入门指南