2013-06-07 1 views
0

. winform netComment obtenir le nom de fichier en fonction de mes besoins C# DirctoryInfo.GetFileSystemInfos();

Maintenant, je reçois tous les nom de fichier sous le répertoire spécifié. le résultat est « 0001_00001523_028155.sql »

mais mon but est seulement d'obtenir « 00001523 »

comment puis-je faire?

private void loadscriptfolder() 
    { 
     string folderName = this.textBoxScriptLocation.Text.Trim(); 
     DirectoryInfo dir = new DirectoryInfo(folderName); 
     if (dir.Exists) 
     { 
      FileSystemInfo[] fs = dir.GetFileSystemInfos(); 
      foreach (FileSystemInfo fs2 in fs) 
      { 
       FileInfo file = fs2 as FileInfo; 
       if (file != null) 
       { 
        listBoxResult.Items.Add(file); 
       }      
      }     
     } 
    } 

Merci à tous !!!

+0

Ceci n'a rien à voir avec 'getfiles'. Cette question concerne uniquement les opérations de base sur les chaînes. – TheHippo

Répondre

0

Si vous vraiment besoin d'obtenir cette partie du nom de fichier, vous pouvez juste faire une manipulation de chaîne sur son nom de fichier.

   FileInfo file = fs2 as FileInfo; 
       if (file != null) 
       { 
        listBoxResult.Items.Add(file.Name.Split('_')[1]); 
       } 
+0

la valeur de file.Name.Split ('_') [1] est correcte, mais je got "Index était en dehors des limites du tableau." après je l'ai couru. – CrystalPeach

+0

ce serait mieux si vous postez la trace de la pile. Il se peut que vos fichiers ne suivent pas une convention de dénomination (par exemple, [chiffre] _ [chiffre] _ [chiffre]. [Nom de l'extension]), disons "12345.sql" '. Ce qui échoue à son tour 'file.Name.Split ('_')' parce que quand vous divisez ce nom de fichier par '_', la taille du tableau est juste 1. Donc avoir' [1] 'échouera parce que vous accédez au * * second ** élément dans ce nom de fichier divisé. – aiapatag

+0

Je peux connaître la raison. – CrystalPeach

0

Essayez

string str = @"0001_00001523_028155.sql"; 
    var result = str.Split('_')[1]; 
+0

Mais je ne sais pas comment transférer le FileInfo à Array ... – CrystalPeach

+0

Pour obtenir le nom de fichier - 'file.Name'. à partir de MSDN: http://msdn.microsoft.com/en-us/library/system.io.fileinfo.name.aspx – Mzf

Questions connexes