记录一下安卓本地文件File处理的问题
在项目中更新软件下载更新包的时候删除系统文件夹会报错导致下载失败
研究了下是因为目录不存在导致的由于系统自带下载目录,但是一些极限操作当目录不存在时就需要处理下
项目中的解决方案
File f = new File(Environment.getExternalStorageDirectory() + "/" + Environment.DIRECTORY_DOWNLOADS ); if(!f.exists()){ f.mkdir();//如果路径不存在就先创建路径 }
File后面的括号是保存的路径 需要注意的是
f.mkdir()创建单个文件夹前面的目录必须存在要不创建失败
f.mkdirs()全部创建目录前面的目录也会跟着创建
记得权限<uses-permission android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
></uses-permission>
稍的介绍下其他的方法
// 生成文件 public File makeFilePath(String filePath, String fileName) { File file = null; makeRootDirectory(filePath); try { file = new File(filePath + fileName); if (!file.exists()) { file.createNewFile(); } } catch (Exception e) { e.printStackTrace(); } return file; }
// 生成文件夹 public static void makeRootDirectory(String filePath) { File file = null; try { file = new File(filePath); if (!file.exists()) { file.mkdir(); } } catch (Exception e) { Log.i("error:", e+""); } }
记住文件依托于文件夹否则报异常(先生成文件夹)
磊磊tua