取得文件夹大小 long 单位为M
public static long getFileSize(File f) throws Exception { long size = 0; File flist[] = f.listFiles(); for (int i = 0; i < flist.length; i++) { if (flist[i].isDirectory()) { size = size + getFileSize(flist[i]); } else { size = size + flist[i].length(); } } return size; }
转换文件大小
public static String FormetFileSize(long fileS) { DecimalFormat df = new DecimalFormat("#.00"); String fileSizeString = ""; if (fileS == 0) { fileSizeString = "0KB"; } else if (fileS < 1024) { fileSizeString = df.format((double) fileS) + "B"; } else if (fileS < 1048576) { fileSizeString = df.format((double) fileS / 1024) + "KB"; } else if (fileS < 1073741824) { fileSizeString = df.format((double) fileS / 1048576) + "MB"; } else { fileSizeString = df.format((double) fileS / 1073741824) + "G"; } return fileSizeString; }
删除指定目录下文件及目录
public static void deleteFolderFile(String filePath, boolean deleteThisPath) throws IOException { if (!TextUtils.isEmpty(filePath)) { File file = new File(filePath); if (file.isDirectory()) {// 处理目录 File files[] = file.listFiles(); for (int i = 0; i < files.length; i++) { deleteFolderFile(files[i].getAbsolutePath(), true); } } if (deleteThisPath) { // 如果是文件,删除 if (!file.isDirectory()) { file.delete(); } else { // 目录下没有文件或者目录,删除 if (file.listFiles().length == 0) { file.delete(); } } } } }
/** * 获取文件名 * * @param path * @return */ public static String getFileName(String path) { int start = path.lastIndexOf("/") + 1; return path.substring(start); } /** * 获取文件名 * * @param file * @return */ public static String getFileName(File file) { String filePath = file.getAbsolutePath(); return getFileName(filePath); }
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10579.html