public static GetFilesRecursive ( string baseDir ) : List |
||
baseDir | string | |
리턴 | List |
/// <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); }
/// <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); }