FileStatsParser.cs
Description du code
FileStatsParser.cs est un fichier du projet BrolFileStats.Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/brolfilestats/.
Projet BrolFileStats :
Statistiques en CSharp.
Code source ou contenu du fichier
Code c# (FileStatsParser.cs) (126 lignes)
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.ComponentModel; using be.gaudry.model.file; using be.gaudry.view.controls; using be.gaudry.model; namespace be.gaudry.explorer.filestats.model { public class FileStatsParser : AbstractFileParser { #region declarations and constructors private Stat stat; private FILE_SEARCHTYPE searchType; private bool keySensitive, firstLevel; private Dictionary<string, DateTime> dateLaps; public FileStatsParser() : base() { firstLevel = true; dateLaps.Add("5 ans", DateTime.Now.AddYears(-5)); dateLaps.Add("Un an", DateTime.Now.AddYears(-1)); dateLaps.Add("6 mois", DateTime.Now.AddMonths(-6)); dateLaps.Add("Un mois", DateTime.Now.AddMonths(-1)); dateLaps.Add("15 jours", DateTime.Now.AddDays(-15)); dateLaps.Add("Une semaine", DateTime.Now.AddDays(-7)); dateLaps.Add("Aujourd'hui", DateTime.Now); } #endregion #region properties public Stat Stat { get { return stat; } set { stat = value; } } public FILE_SEARCHTYPE SearchType { get { return searchType; } set { searchType = value; } } public bool KeySensitive { get { return keySensitive; } set { keySensitive = value; } } /// <summary> /// Set true to show only first level summary /// </summary> public bool FirstLevel { get { return firstLevel; } set { firstLevel = value; } } public List<string> DateLaps { } #endregion #region method to implement /// <summary> /// Do something on each file /// </summary> /// <param name="bgw">BackgroundWorker to perform cancel if needed, and report progress</param> /// <param name="e">DoWorkEventArgs to perform cancel if needed, and report progress</param> /// <param name="fi">FileInfo to check</param> /// <param name="percent">(int) Progress percentage</param> /// <param name="subDirDeep">Deep of the directory in comparison with start directory</param> /// <returns> /// true if we must stop the parsing of current directory (ie. if we have a vob file, we don't check the other files in this directory) /// false otherwise ///</returns> protected override bool performOnFile(BackgroundWorker bgw, DoWorkEventArgs e, FileInfo fi, int percent, int subDirDeep) { switch (searchType) { case FILE_SEARCHTYPE.Extension: stat.increase((keySensitive) ? fi.Extension : fi.Extension.ToUpper()); break; case FILE_SEARCHTYPE.Count: stat.increase(fi.DirectoryName); break; case FILE_SEARCHTYPE.LastAccess: DateTime dt = fi.LastAccessTime; foreach(KeyValuePair<string, DateTime> kvp in dateLaps) { if (dt <= kvp.Value) { stat.increase(kvp.Key); return false; } } break; case FILE_SEARCHTYPE.Attribute: stat.increase(fi.Attributes.ToString()); break; case FILE_SEARCHTYPE.FileSize: stat.increase(fi.FullName, fi.Length); break; case FILE_SEARCHTYPE.DirSize: string directoryName = fi.DirectoryName; if (fi.Directory.FullName.Equals(startPath)) { break; } if (firstLevel) { for (int i = 2; i <= subDirDeep; i++) { directoryName = FileHelper.getParentDir(directoryName); } } stat.increase(directoryName, fi.Length); break; } return false; } #endregion } }
Structure et Fichiers du projet
Afficher/masquer...Icône | Nom | Taille | Modification |
Pas de sous-répertoires. | |||
Icône | Nom | Taille | Modification |
| _ | Répertoire parent | 0 octets | 1734854083 22/12/2024 08:54:43 |
Utilisation de l'explorateur de code
- Navigation :
- Un clic sur une icône de répertoire ouvre ce répertoire pour en afficher les fichiers.
- Lorsque le répertoire en cours ne contient pas de sous-répertoires il est possible de remonter vers le répertoire parent.
- La structure de répertoires en treetable (tableau en forme d'arborescence) n'est plus possibledans cette version.
- Un clic sur une icône de fichier ouvre ce fichier pour en afficher le code avec la coloration syntaxique adaptée en fonction du langage principal utilisé dans le fichier.
- Affichage :
- Il est possible de trier les répertoires ou les fichiers selon certains critères (nom, taille, date).
- Actions :
- Les actions possible sur les fichiers dépendent de vos droits d'utilisateur sur le site. Veuillez activer le mode utilisateur pour activer les actions.
Version en cache
22/12/2024 08:54:43 Cette version de la page est en cache (à la date du 22/12/2024 08:54:43) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/10/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/cs-brolfilestats-source-rf-model/FileStatsParser.cs.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.