示例#1
0
        public static void AddFileToDatabase(FileDatabase fileDatabase, string sPath)
        {
            FileMetaData fmd = new FileMetaData(sPath);

            fileDatabase.AddFileMetaData(fmd);
            fileDatabase.LastUpdate = DateTime.Now;
        }
示例#2
0
 public static void SaveFileDatabase(FileDatabase fileDatabase, string sPath)
 {
     using (Stream s = File.OpenWrite(sPath))
     {
         SaveFileDatabase(fileDatabase, s);
     }
 }
示例#3
0
 public static void SaveFileDatabase(FileDatabase fileDatabase, Stream streamData)
 {
     using (JsonWriter jsonWriter = new JsonTextWriter(new StreamWriter(streamData)))
     {
         JsonSerializer serializer = JsonSerializer.Create();
         serializer.Serialize(jsonWriter, fileDatabase);
         jsonWriter.Flush();
     }
 }
示例#4
0
        public static void AddDirectoryToDatabase(FileDatabase fileDatabase, string sPath)
        {
            DirectoryInfo DInfo = new DirectoryInfo(sPath);

            foreach (DirectoryInfo curDirInfo in DInfo.GetDirectories())
            {
                AddDirectoryToDatabase(fileDatabase, curDirInfo.FullName);
            }
            foreach (FileInfo curFileInfo in DInfo.GetFiles())
            {
                AddFileToDatabase(fileDatabase, curFileInfo.FullName);
            }
        }
示例#5
0
        public static FileDatabase LoadFileDatabase(Stream streamData)
        {
            JsonReader     jsonReader = new JsonTextReader(new StreamReader(streamData));
            JsonSerializer serializer = JsonSerializer.Create();
            object         o          = serializer.Deserialize <FileDatabase>(jsonReader);
            FileDatabase   retval     = o as FileDatabase;

            if (retval != null)
            {
                retval.UpdateCache();
            }
            return(retval);
        }