GetFilesRecursive() 공개 정적인 메소드

Gets a recursive listing of files from a directory
public static GetFilesRecursive ( string baseDir ) : List
baseDir string
리턴 List
예제 #1
0
        /// <summary>
        /// Rebuild the index from scratch
        /// </summary>
        /// <param name="baseDir">the root from which to list files from</param>
        /// <returns></returns>
        public bool RefreshIndex(String baseDir)
        {
            Console.WriteLine("Refreshing index");

            List <MyFile> fileList = Common.GetFilesRecursive(baseDir);

            DbTransaction transaction = dbConnection.BeginTransaction();

            DbCommand clearCommand = dbConnection.CreateCommand();

            clearCommand.CommandText = "delete from files";
            clearCommand.ExecuteNonQuery();

            foreach (MyFile file in fileList)
            {
                paramPath.Value     = file.name;
                paramType.Value     = file.type.ToString(); // to ensure it is stored as a char/string instead of a numeric value
                paramModtime.Value  = file.modtime;
                paramSize.Value     = file.size;
                paramChecksum.Value = file.checksum;
                commandInsertOrIgnore.ExecuteNonQuery();
            }

            transaction.Commit();

            return(true);
        }
예제 #2
0
        /// <summary>
        /// Get a local file listing and store them in a filename=>MyFile dictionary
        /// </summary>
        /// <returns></returns>
        private Dictionary <String, MyFile> getLocalFileList()
        {
            Dictionary <String, MyFile> C = new Dictionary <String, MyFile>();

            try {
                List <MyFile> files = Common.GetFilesRecursive(dataDir);

                foreach (MyFile thisFile in files)
                {
                    C.Add(thisFile.name, thisFile);
                }
            } catch (Exception e) {
                writeMessage("Error populating local file list " + e.Message);
            }

            return(C);
        }