统计目录大小
public static long getAllFilesLength(File file) { long length = 0l; if (file == null) { System.out.println("文件为空"); } long fileLengths[] = new long[0]; File files[] = file.listFiles(); for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { length += getAllFilesLength(files[i]); } else if (files[i].isFile()) { length += files[i].length(); fileLengths = Arrays.copyOf(fileLengths,fileLengths.length+1); fileLengths[fileLengths.length-1] = files[i].length(); } } // System.out.println(Arrays.toString(fileLengths)); return length; }
获取文件下所有mp3,包括子文件的下的mp3文件
public static String[] getAllmp3s(File file) { if (file == null) { System.out.println("12"); return null; } File files[] = file.listFiles();//将目录文件 转换 文件类型数组 String mp3[] = new String[0]; if (file.isDirectory()) {//是文件夹 方法一开始判断非文件夹 空文件的情况,不会出现空指针 for (File file1 : files) {//遍历文件夹 if (file1.getName().endsWith("mp3")) { mp3 = Arrays.copyOf(mp3, mp3.length+1); mp3[mp3.length - 1] = file1.getName(); System.out.println(file1.getName()); } } } return mp3; }
创建一个字符串类型的空指针数组,将原有数组遍历后,空数组扩容一个,放一个原数组元素。
public static String[] getAllMap3(File file){ if (file == null){ return null; } File[] files = file.listFiles(new FileFilter() { @Override public boolean accept(File f) { return f.getName().equals(".mp3"); } });String[] mp3s = new String[0]; for (File file1 : files) { mp3s = Arrays.copyOf(mp3s,mp3s.length+1); mp3s[mp3s.length-1] = file1.getName(); } return mp3s;}
fis.read
fis.write