public void read_google_drive_info() { StringWriter all_output = new StringWriter(); FolderInfo root_folder_info = read_all_tree(all_output, out runtime_sw); RootInfo _ri = new RootInfo(); _ri.root = root_folder_info; my_utils.serialize_to_gz_file(_ri); Console.Write(all_output); if (root_folder_info.total_size_bytes != n_total_bytes) { // debug. } Console.WriteLine($"\r\nTotal Tree Objects: {n_total_obj}\r\nTotal Size: {my_utils.bytes_to_formatted_string(n_total_bytes)}\r\nTotal Processing Time: {runtime_sw.Elapsed.ToString(@"mm\:ss")}\r\nTotal Requests: {n_total_requests}"); Console.WriteLine($"\r\n{all_my_mime_types.Count} all my mime types:"); foreach (DictionaryEntry mime_type in all_my_mime_types) { Console.WriteLine($"{mime_type.Key} ({mime_type.Value})"); } Console.WriteLine($"\r\n{missing_mime_types.Count} missing mime_types:"); foreach (DictionaryEntry mime_type in missing_mime_types) { Console.WriteLine($"{mime_type.Key} ({mime_type.Value})"); } // MainForm.global_ri = _ri; // form.show_processing_image("processing google tree..."); MainForm.rescan_tree_from_google(); MessageBox.Show("google-drive Rescanned.\r\nPlease Restart the application."); MainForm.this_form.run_load_google_drive_info(); }
public static void serialize_to_gz_file(RootInfo _ri) { // Binary: FileStream file_write_stream = System.IO.File.Open(MainForm.ser_name, FileMode.Create, FileAccess.Write); (new BinaryFormatter()).Serialize(file_write_stream, _ri); file_write_stream.Close(); // // GZip: FileStream file_read_stream = new FileStream(MainForm.ser_name, FileMode.Open, FileAccess.Read); string compressed_file_name = MainForm.ser_name + ".gz"; string back_name = MainForm.ser_name + ".bak.gz"; // int i = compressed_file_name.LastIndexOf(@"."); if (System.IO.File.Exists(compressed_file_name)) { //string back_name = compressed_file_name.Substring(0, i) + @"\" + DateTime.Now.ToString("yyMMddHHmm") + " " + compressed_file_name.Substring(i + 1); System.IO.File.Delete(back_name); System.IO.File.Move(compressed_file_name, back_name); } FileStream compressedFileStream = new FileStream(compressed_file_name, FileMode.Create); GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress); file_read_stream.CopyTo(compressionStream); compressionStream.Close(); file_read_stream.Close(); }