IO arroyos de lectura tamaño de la carpeta

IO corriente para leer el tamaño de la carpeta de código fuente

Paquete cn.tedu.file; Importación java.io.File; Importación
java.math.BigDecimal; Importación java.util.Scanner; // directorio de prueba de evaluación recursiva tamaño total del público
de clase Test2_Size {@SuppressWarnings ( "Recursos") public static void
principales (String [] args) {// 1, que reciben el contenido System.out.print ( "de directorio:") de entrada por un usuario;.
string path = new nuevo escáner (la System.in) .nextLine (); la dir = new nuevo archivo
de archivos (ruta de acceso); // título System.out.printl ## n ( "tamaño:" + tamaño (dir));
// con el fin de evitar la pérdida de coma flotante de precisión, utilizaremos BigDecimal Kit BigDecimal bigDecimal1 = new BigDecimal (tamaño (el dir) + ""); el BigDecimal = nuevo nuevo bigDecimal2
la BigDecimal (1073741824 + ""); el BigDecimal bigDecimal3 =
bigDecimal1.divide (bigDecimal2 ,. 3, BigDecimal.ROUND_HALF_UP);
System.out.println ( "tamaño:" + bigDecimal3 + "G");
System.out.println ( "número de archivo:" + countFileSize (dir)) ;
System.out.println ( "número de carpetas:" + countFolderSize (dir));}

countFolderSize estática Largo Privado (Archivo del dir) {
int size = 0;
// obtener todo el contenido de un directorio
de archivos [] = dir.listFiles Archivos ();
// Iterar
para (Archivo C: Archivos) {
SI (f.isDirectory ( )) {
// añadir una carpeta del
tamaño ++;
// ingresar el número de directorio del directorio de la carpeta estadística
// Nota que no sólo puede escribir countFileSize (f), de manera que cada planta tiene un nuevo tamaño
tamaño + = countFolderSize ( F);
}
}
tamaño de retorno;
}

// Crear el tamaño (), encontrar el tamaño de la
estática privada Tamaño de largo (dir File) {
// 1, Lista de carpetas debajo de todos los recursos
de archivos [] = FS dir.listFiles ();
// 1.1, hay que sacar a cada uno objeto File, es necesario para atravesar los fs array
largo count = 0; // definición de las variables, la suma de los registros
for (int i = 0; I <fs.length; i ++) {
fs del archivo = [I]; // obtener la iteración actual representa recurso
// --2 determina si el recurso es un archivo, el archivo sumando la cantidad de bytes de longitud ()
IF (file.isFile ()) {// archivo
count = count + file.length (); // sumatoria?
} Else if (file.isDirectory ()) {// es una carpeta
// --3 para determinar si el recurso es una carpeta, la lista continúa, continúa para determinar si el archivo es la suma si se va a continuar con la lista de carpetas sigue juez ... inicio repita madre
count = count + tamaño (archivo) ; // recursiva? ? Y puesto que el trabajo para un tamaño de () como un ...
}
}
RECUENTO retorno;
}
}

Publicado 36 artículos originales · alabanza ganado 13 · vistas 1087

Supongo que te gusta

Origin blog.csdn.net/weixin_44598691/article/details/104658173
Recomendado
Clasificación