Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 21011|Respuesta: 0

[Fuente] C# obtiene el tamaño del archivo

[Copiar enlace]
Publicado en 24/3/2016 17:14:17 | | |

Por supuesto, necesitas introducir System.IO espacio de nombres

La primera:

estática pública larga GetDirectoryLength(string dirPath)
{
Determinar si existe un camino dado y salir si no lo existe
si (! Directorio.Exists(dirPath))
return 0;
len largo = 0;

//定义一个DirectoryInfo对象
DirectoryInfo di = new DirectoryInfo(dirPath);

Usa el método GetFiles para obtener el tamaño de todos los archivos en el directorio di
foreach (FileInfo fi en di.GetFiles())
{
len += fi. Longitud;
}

Consigue todas las carpetas del di y guárdalas en un nuevo array de objetos para recursividad
DirectoryInfo[] dis = di.GetDirectories();
si (dis. Longitud > 0)
{
para (int i = 0; Lo < dis. Longitud; i++)
{
len += GetDirectoryLength(dis. Nombre completo);
}
}
Regresar a Len;
}

La segunda

También utiliza la idea de recursión, pero se juzga por el método de salidas de la clase File

//所给路径中所对应的是否为文件

FileSize largo estático público (cadena filePath)
{
Temperatura larga = 0;

//判断当前路径所指向的是否为文件
if (File.Exists(filePath) == false)
{
string[] str1 = Directorio.GetFileSystemEntries(filePath);
Foreach (Cuerda S1 en Str1)
{
temp += ArchivoTamaño(s1);
}
}
si no,
{

Definamos un objeto FileInfo para asociarlo con la dirección del archivo a la que apunta el filePath,

//以获取其大小
FileInfoFileInfo = nuevo FileInfo(filePath);
return fileInfo.Length;
}
devolver la temperatura;
}

De hecho, la idea de eliminar una carpeta es la misma que esta, la configuración es mucho más sencilla, simplemente juzga si es un archivo o una carpeta, y si es un archivo, bórralo. Si es una carpeta, es recursiva




Anterior:La solicitud HTTP en C# get, post viene con un parámetro de retry
Próximo:Similitudes y diferencias entre los diálogos de carpeta de selección de Winform y WPF
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com