package com.cnblogs.android.utility; import java.io.File; import java.text.DecimalFormat; import com.cnblogs.android.core.Config; import android.os.Environment; public class FileAccess { /** * �����ļ��� * * @param dirName */ public static void MakeDir(String dirName) { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { File destDir = new File(dirName); if (!destDir.exists()) { destDir.mkdirs(); } } } /** * ɾ����·������ʾ���ļ���Ŀ¼�� �����·������ʾһ��Ŀ¼�������ɾ��Ŀ¼�µ������ٽ�Ŀ¼ɾ�������Ըò�������ԭ���Եġ� * ���Ŀ¼�л���Ŀ¼����������ݹ鶯���� * * @param filePath * Ҫɾ���ļ���Ŀ¼��·���� * @return ���ҽ����ɹ�ɾ���ļ���Ŀ¼ʱ������ true�����򷵻� false�� */ public static boolean DeleteFile(String filePath) { File file = new File(filePath); if (file.listFiles() == null) return true; else { File[] files = file.listFiles(); for (File deleteFile : files) { if (deleteFile.isDirectory()) DeleteAllFile(deleteFile); else deleteFile.delete(); } } return true; } /** * ɾ��ȫ���ļ� * * @param file * @return */ private static boolean DeleteAllFile(File file) { File[] files = file.listFiles(); for (File deleteFile : files) { if (deleteFile.isDirectory()) { // ������ļ��У���ݹ�ɾ��������ļ�����ɾ�����ļ��� if (!DeleteAllFile(deleteFile)) { // ���ʧ���򷵻� return false; } } else { if (!deleteFile.delete()) { // ���ʧ���򷵻� return false; } } } return file.delete(); } /** * �õ����ݿ��ļ�·�� * @return */ public static String GetDbFileAbsolutePath(){ String dbPath="/data/data/" + Config.APP_PACKAGE_NAME + "/databases/" + Config.DB_FILE_NAME; return dbPath; } /** * ��ȡ�ļ���С * @param filePath * @return */ public static long GetFileLength(String filePath){ File file=new File(filePath); return file.length(); } /** * ��ȡ�ļ��д�С * @param dirPath * @return */ public static long GetPathLength(String dirPath){ File dir=new File(dirPath); return getDirSize(dir); } /** * ��ȡ�ļ��д�С * @param dir * @return */ private static long getDirSize(File dir) { if (dir == null) { return 0; } if (!dir.isDirectory()) { return 0; } long dirSize = 0; File[] files = dir.listFiles(); for (File file : files) { if (file.isFile()) { dirSize += file.length(); } else if (file.isDirectory()) { dirSize += file.length(); dirSize += getDirSize(file); // �������Ŀ¼��ͨ���ݹ���ü���ͳ�� } } return dirSize; } /** * ���ֳ�����ת��ΪKB/MB * @param size * @return */ public static String GetFileSize(long size){ int kbSize=(int)size/1024; if(kbSize>1024){ float mbSize=kbSize/1024; DecimalFormat formator=new DecimalFormat( "##,###,###.## "); return formator.format(mbSize) + "M"; } return kbSize + "K"; } }