获取sdcard目录
public static String getSDPath() { File sdDir = null; boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);// 判断sd卡是否存在 if (sdCardExist) { sdDir = Environment.getExternalStorageDirectory();// 获取跟目录 } return sdDir.toString(); }
创建目录,不限目录层级
public static String mkdirs(String path) { String sdcard = getSDPath(); if (path.indexOf(getSDPath()) == -1) { path = sdcard + (path.indexOf("/") == 0 ? "" : "/") + path; } File destDir = new File(path); if (!destDir.exists()) { path = makedir(path); if (path == null) { return null; } } return path; } private static String makedir(String path) { String sdPath = getSDPath(); String[] dirs = path.replace(sdPath, "").split("/"); StringBuffer filePath = new StringBuffer(sdPath); for (String dir : dirs) { if (!"".equals(dir) && !dir.equals(sdPath)) { filePath.append("/").append(dir); File destDir = new File(filePath.toString()); if (!destDir.exists()) { boolean b = destDir.mkdirs(); if (!b) { return null; } } } } return filePath.toString(); }
所需权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 在sdcard中创建/删除文件的权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
显示本地图片
ImageView view5 = findView(R.id.imageview2); view5.setImageBitmap(ImageUtils.getLoacalBitmap("/storage/sdcard1/myimage/20160807.jpg")); public static Bitmap getLoacalBitmap(String url) { try { FileInputStream fis = new FileInputStream(url); return BitmapFactory.decodeStream(fis); } catch (FileNotFoundException e) { //这里应显示默认图片,如图片无法显示等;从应用资源图片中选取 return null; } }
以上这篇Android获取SDcard目录及创建文件夹的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。