2008-10-18 10 views
1

Comment obtenir le répertoire de fichiers d'un fichier (C: \ myfolder \ subfoler \ mydoc.pdf). Je veux également ajouter la taille des sous-dossiers, et enfin la taille du dossier principal. C'est pour un .NET CLR que j'ai besoin d'intégrer avec SQL Server 2005 pour un rapport SSRS.Chemin/taille du fichier en C#

Merci.

Répondre

4

Vous pouvez utiliser GetDirectoryName, pour obtenir que le chemin du répertoire du fichier:

using System.IO; 
string directoryName = Path.GetDirectoryName(@"C:\myfolder\subfolder\mydoc.pdf"); 
// directoryName now contains "C:\myfolder\subfolder" 

Pour calculer le répertoire et la taille sous-répertoire, vous pouvez faire quelque chose comme ceci:

public static long DirSize(DirectoryInfo d) 
{  
    long Size = 0;  
    // Add file sizes. 
    FileInfo[] fis = d.GetFiles(); 
    foreach (FileInfo fi in fis) 
    {  
     Size += fi.Length;  
    } 
    // Add subdirectory sizes. 
    DirectoryInfo[] dis = d.GetDirectories(); 
    foreach (DirectoryInfo di in dis) 
    { 
     Size += DirSize(di); 
    } 
    return(Size); 
} 
+0

J'ai problème avec le long type de données lors de l'intégration avec SQL Server Assembly. Tout remplacement pour longtemps compatible avec SQL Server? – MarlonRibunal

+0

Long est ce que vous devez utiliser dans votre code C# - vous devez trouver le type de données le plus approprié pour le faire correspondre à la base de données. Je ne peux pas vérifier maintenant, mais je suis certain qu'il existe un type entier 64 bits approprié. –

+0

Droite, Long peut être mappé à SQL comme type BigInt, entier de 64 bits ... – CMS