记录一下平时经常需要运用到得文件相关内容,俗话讲好记性不如烂笔头!
1)
<strong>/** * 根据路径获得,某个文件或文件夹所在的存储器的内存空间总大小 * * @return */ public static long getTotalMemorySize(String path) { StatFs stat = new StatFs(path); long blockSize = stat.getBlockSize(); // 每个block 占字节数 long totalBlocks = stat.getBlockCount(); // block总数 return totalBlocks * blockSize; }</strong>
2)
/** * 根据路径获得,某个文件或文件夹所在的存储器的内存空间还有多少可用 * * @return */ public static long getAvailableMemorySize(String path) { StatFs stat = new StatFs(path); long blockSize = stat.getBlockSize(); long availableBlocks = stat.getAvailableBlocks(); return availableBlocks * blockSize; }
3)
/** * 获取指定文件的大小 * * @param f * @return * @throws Exception */ private static long getFileSize(File file) { long size = 0; if (file.exists()) { FileInputStream fis = null; try { fis = new FileInputStream(file);//使用FileInputStream读入file的数据流 size = fis.available();//文件的大小 } catch (IOException e) { e.printStackTrace(); } finally{ try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } else { Log.e(TAG, "File not exists!"); } return size; }
4)
/** * 获取指定文件夹的大小 * * @param f * @return * @throws Exception */ private static long getFileSizes(File f) { long size = 0; File flist[] = f.listFiles();//文件夹目录下的所有文件 for (int i = 0; i < flist.length; i++) { if (flist[i].isDirectory()) {//判断是否父目录下还有子目录 size = size + getFileSizes(flist[i]); } else { size = size + getFileSize(flist[i]); } } return size; }
5)使用该方法可以防止多次触发Toast而引起多次弹出提醒框
private Toast mToast = null; private void showToast(Context context, String str) { if (mToast == null) { mToast = Toast.makeText(context, str, Toast.LENGTH_SHORT); } else { mToast.setText(str); } mToast.show(); }
文件相关操作:
1)String Name = File.getName();//获得文件或文件夹的名称:
2)File.mkDir(); //建立文件夹
3) File.createNewFile();//建立文件
4)File.isDirectory();//判断是文件或文件夹
5)File.isDirectory()
6)File[] files = File.listFiles();//列出文件夹下的所有文件和文件夹名
7)File.renameTo(dest);//修改文件夹和文件名
8)File.delete();//删除文件夹或文件
9)childFiles[i].getName().contains("testfolder");//判断某个文件名包含有“testfolder”
时间: 2024-10-10 14:34:25