android文件操作工具类
16lz
2021-12-04
package com.baize.love.utils;import android.os.Environment;import android.text.TextUtils;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.text.DecimalFormat;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * 文件工具类 * Created by lxb on 2017/4/11. */public class FileUtils { public static Map,List > allFilesDict = null; /** * 删除文件 * * @param path * @return */ public static boolean deleteFile(String path) { if (isBlank(path)) { return true; } File file = new File(path); return deleteFile(file); } /** * 删除文件 * * @param file * @return */ public static boolean deleteFile(File file) { if (!file.exists()) { return true; } if (file.isFile()) { return file.delete(); } if (!file.isDirectory()) { return false; } for (File f : file.listFiles()) { if (f.isFile()) { f.delete(); } else if (f.isDirectory()) { deleteFile(f.getAbsolutePath()); //递归 } } return file.delete(); } public static boolean isBlank(String str) { return (str == null || str.trim().length() == 0); } /** * 根据文件路径判断文件是否存在 * * @param path * @return */ public static boolean isExit(String path) { File file = null; try { file = new File(path); return file.exists(); } catch (Exception e) { e.printStackTrace(); } return false; } /** * 根据指定目录获取当前文件夹下所有文件 * @param dir 当前目录 * @return */ public static Map ,List > getAllFilePath(String dir){ File tmpFileObj = new File(dir); if(tmpFileObj.exists()){ File[] files = tmpFileObj.listFiles(); if (files.length == 0) { BZLogUtils.getInstance().print("文件夹是空的!"); return null; } else { String key = null; List tmpFileList = null; for (File file2 : files) { if (file2.isDirectory()) { tmpFileList = new ArrayList<>(); String fileDir = file2.getAbsolutePath(); key = fileDir.substring(fileDir.lastIndexOf("/") + 1,fileDir.length()); BZLogUtils.getInstance().print("文件夹:" + file2.getAbsolutePath() + " key: "+key); getAllFilePath(file2.getAbsolutePath()); //递归查找当前目录的子目录 } else { String fileDir = file2.getParent(); key = fileDir.substring(fileDir.lastIndexOf("/") + 1,fileDir.length()); if(tmpFileList == null){ tmpFileList = new ArrayList<>(); } tmpFileList.add(file2.getAbsolutePath()); getAllFileDict().put(key,tmpFileList); BZLogUtils.getInstance().print("文件:" + file2.getAbsolutePath() + " 目录:" + key); } } BZLogUtils.getInstance().print("size:"+getAllFileDict().size()); } } else { BZLogUtils.getInstance().print("文件不存在!"); } return getAllFileDict(); } /** * 获取所有文件字典 * * @return */ public static Map ,List > getAllFileDict(){ if(allFilesDict == null){ allFilesDict = new HashMap<>(); } return allFilesDict; } public static void recycRes(){ allFilesDict = null; } /** * 创建建筑物路径 * * @param dir 目录 * @param fileName 文件名 * @return */ public static String createBuildPath(String dir,String fileName) { return Environment.getExternalStorageDirectory() + "/BZLove/" + dir + "/" + fileName; } /** * 创建目录 * @param dir * @return */ public static String createDir(String dir){ String tmpDir = Environment.getExternalStorageDirectory() + "/BZLove/" + dir + "/"; File file = new File(tmpDir); if(!file.exists()){ if(file.mkdirs()){ return tmpDir; } BZLogUtils.getInstance().print("创建目录失败"); return null; } return tmpDir; } /** * 获取存在建筑物的根目录 * @return */ public static String getBuildRootDir(){ String tmpDir = Environment.getExternalStorageDirectory() + "/BZLove/"; File file = new File(tmpDir); if(!file.exists()){ if(file.mkdirs()){ return tmpDir; } BZLogUtils.getInstance().print("创建目录失败"); return null; } return null; }}
更多相关文章
- Android(安卓)简易文件选择Dialog
- android设置全屏模式
- android studio 复制项目
- 在Android中创建文件
- Android(安卓)Studio 无法编译,出现下列错误提示的解决方案。
- android的Http请求组件
- Android(安卓)ADB emulator-5554 unauthorized
- Android(安卓)删除指定文件代码
- Android中NDK的使用方法