コード例 #1
0
ファイル: File.cs プロジェクト: git-thinh/limada
        public File[] ListFiles(IFilenameFilter filter)
        {
            String[] ss = List();
            if (ss == null)
            {
                return(null);
            }
            List <File> v = new List <File>();

            for (int i = 0; i < ss.Length; i++)
            {
                if ((filter == null) || filter.Accept(this, ss[i]))
                {
                    v.Add(new File(ss[i], this));
                }
            }
            return(v.ToArray());
        }
コード例 #2
0
ファイル: Scanner.cs プロジェクト: chris2001jm/njetty
        /// <summary>
        /// Get last modified time on a single file or recurse if
        /// the file is a directory.
        /// </summary>
        /// <param name="f">file or directory</param>
        /// <param name="scanInfoMap">map of filenames to last modified times</param>
        void ScanFile(FileInfo f, Dictionary <string, long> scanInfoMap)
        {
            if (IsStopping || IsStopped)
            {
                // stop if no longer running
                return;
            }

            try
            {
                if (!f.Exists)
                {
                    return;
                }

                if (!f.IsDirectory())
                {
                    if ((_filter == null) || ((_filter != null) && _filter.Accept(f.Directory, f.Name)))
                    {
                        string name         = f.FullName;
                        long   lastModified = f.LastWriteTimeUtc.Ticks;
                        scanInfoMap.Add(name, lastModified);
                    }
                }
                else if (f.IsDirectory() && (_recursive || _scanDirs.Contains(f)))
                {
                    FileInfo[] files = (new DirectoryInfo(f.FullName)).GetFiles();
                    for (int i = 0; i < files.Length; i++)
                    {
                        if (IsStopping || IsStopped)
                        {
                            // stop if no longer running
                            return;
                        }
                        ScanFile(files[i], scanInfoMap);
                    }
                }
            }
            catch (IOException e)
            {
                Log.Warn("Error scanning watched files", e);
            }
        }
コード例 #3
0
 public string[] List(IFilenameFilter filter)
 {
     try {
         if (IsFile())
         {
             return(null);
         }
         List <string> list = new List <string> ();
         foreach (string filePth in Directory.GetFileSystemEntries(_path))
         {
             string fileName = Path.GetFileName(filePth);
             if ((filter == null) || filter.Accept(this, fileName))
             {
                 list.Add(fileName);
             }
         }
         return(list.ToArray());
     } catch {
         return(null);
     }
 }
コード例 #4
0
ファイル: FilePath.cs プロジェクト: Cyber-Forensic/Potato
		public string[] List (IFilenameFilter filter)
		{
			try {
				if (IsFile ())
					return null;
				List<string> list = new List<string> ();
				foreach (string filePth in Directory.GetFileSystemEntries (_path)) {
					string fileName = Path.GetFileName (filePth);
					if ((filter == null) || filter.Accept (this, fileName)) {
						list.Add (fileName);
					}
				}
				return list.ToArray ();
			} catch {
				return null;
			}
		}
コード例 #5
0
ファイル: File.cs プロジェクト: erdincay/db4o
 public File[] ListFiles(IFilenameFilter filter)
 {
     String[] ss = List();
     if (ss == null) return null;
     List<File> v = new List<File>();
     for (int i = 0; i < ss.Length; i++)
     {
         if ((filter == null) || filter.Accept(this, ss[i]))
         {
             v.Add(new File(ss[i], this));
         }
     }
     return v.ToArray();
 }