2010-04-08 4 views
7

Je suis toujours en train d'écrire des fonctions utilitaires de fichiers et de répertoires, et je me demandais s'il existait une bonne bibliothèque de fichiers et de répertoires qui implémente déjà un ensemble plus complet que celui disponible par défaut dans System.IO. Le genre de fonctions que je cherche est des choses comme:La bibliothèque ultime d'utilitaires de fichiers et de répertoires .NET?

public static void GetTemporaryDirectory() 
{ 
    string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); 
    Directory.CreateDirectory(tempDirectory); 
    return tempDirectory; 
} 

public static void CreateEmptyFile(string filename) 
{ 
    File.Create(filename).Dispose(); 
} 

public static void CreateEmptyFile(string path, string filename) 
{ 
    File.Create(Path.Combine(path, filename)).Dispose(); 
} 

public static void CreateDirectory(string path) 
{ 
    Directory.CreateDirectory(path); 
} 

public static void CreateDirectory(string path, string childpath) 
{ 
    Directory.CreateDirectory(Path.Combine(path, childpath)); 
} 
+9

Eh bien, vos deux dernières méthodes sont des wraps triviaux autour de 'Directory.CreateDirectory'. Les deux du milieu, je ne vois pas d'utilisation évidente pour. Le premier * pourrait être utile, mais étant donné que c'est 3 lignes de code, je ne pense pas que nous ayons besoin d'une bibliothèque pour cela. Je ne comprends pas vraiment; vous recherchez une bibliothèque qui implémente fondamentalement toutes les permutations possibles des opérations du système de fichiers, plutôt que de fournir un nombre gérable d'opérations utiles et facilement composables? – Aaronaught

+1

la plupart de cette fonctionnalité est déjà dans les bases .net libaries. –

+0

Ma première fonction contient en fait un bug :-) Devrait retourner une chaîne ... Cela semble trivial, mais ce n'est pas je pense. Par exemple une ligne comme File.Create (filename) .Dispose(); n'est pas aussi clair que CreateEmptyFile (filename). C'est à propos de l'intention, être plus descriptif de ce que vous faites. Les exemples peuvent être trop simplistes, mais il y a beaucoup d'autres cas courants qui pourraient avoir des noms plus descriptifs, même si une fonction ne fait que quelques lignes. –

Répondre

6

Bien que je suis entièrement d'accord avec les commentaires ci-dessus, peut-être ces bibliothèques pourraient intéresser:

Post mis à jour avec le lien FileDirectoryPath, qui semble correspondre exactement à la requête OPs.

+0

Les méthodes d'extension semblent certainement intéressantes – cmroanirgo

Questions connexes