public void hashFile(string filename, int spec_col, int id_col) { StatisticBuilder stats = new StatisticBuilder(); DateTime sTime, eTime; int count = 0; Console.WriteLine("params: {0}, {1}, {2}", filename, spec_col, id_col); FileInfo file = new FileInfo(String.Format("{0}-csharp.csv", filename.Substring(0, filename.LastIndexOf('.')))); if (file.Exists) { file.Delete(); Console.WriteLine("deleted old file..."); } sTime = DateTime.Now; using (StreamReader sr = File.OpenText(filename)) { string s = String.Empty; using (StreamWriter fout = new StreamWriter(File.OpenWrite(file.Name))) { StringBuilder result = new StringBuilder(); fout.AutoFlush = true; while ((s = sr.ReadLine()) != null) { if (string.IsNullOrWhiteSpace(s) || !s.Contains(",")) { Console.WriteLine("bad line... skipping."); continue; } string[] input = s.Split(','); if (!input[spec_col].Contains(":") && !input[id_col].Contains(":")) { result.Append("invalid input data").Append(",").Append(input[id_col]).Append(",").Append(input[spec_col]); continue; } else if (input[id_col].Contains(":")) { int tmp = id_col; id_col = spec_col; spec_col = tmp; } DateTime psTime = DateTime.Now; string hash = splasher.splashIt(new MSSpectrum(input[spec_col])); DateTime peTime = DateTime.Now; TimeSpan lap = new TimeSpan(); if (count % UPDATE_INTERVAL == 0) { lap = DateTime.Now.Subtract(sTime); Console.WriteLine("Elapsed {2:F5}s, average {3:F5}ms, this item: {4:F5}ms - {0} [{1}]", input[id_col], count, lap.TotalSeconds, lap.TotalMilliseconds / (count + 1), peTime.Subtract(psTime).TotalMilliseconds); } result.Append(hash).Append(",").Append(input[id_col]).Append(",").Append(input[spec_col]); //Console.WriteLine(hash); fout.WriteLine(String.Format(result.ToString())); result.Clear(); eTime = DateTime.Now; stats.addTime(lap.TotalMilliseconds); count++; } fout.Flush(); } } Console.WriteLine(stats.getTimeData()); }
public void hashFile(string filename, int spec_col, int id_col) { StatisticBuilder stats = new StatisticBuilder(); DateTime sTime, eTime; int count = 0; Console.WriteLine("params: {0}, {1}, {2}", filename, spec_col, id_col); FileInfo file = new FileInfo(String.Format("{0}-csharp.csv", filename.Substring(0,filename.LastIndexOf('.')))); if(file.Exists) { file.Delete(); Console.WriteLine("deleted old file..."); } sTime = DateTime.Now; using (StreamReader sr = File.OpenText(filename)) { string s = String.Empty; using(StreamWriter fout = new StreamWriter(File.OpenWrite(file.Name))) { StringBuilder result = new StringBuilder(); fout.AutoFlush = true; while ((s = sr.ReadLine()) != null) { if(string.IsNullOrWhiteSpace(s) || !s.Contains(",")) { Console.WriteLine("bad line... skipping."); continue; } string[] input = s.Split(','); if(!input[spec_col].Contains(":") && !input[id_col].Contains(":")) { result.Append("invalid input data").Append(",").Append(input[id_col]).Append(",").Append(input[spec_col]); continue; } else if(input[id_col].Contains(":")) { int tmp = id_col; id_col = spec_col; spec_col = tmp; } DateTime psTime = DateTime.Now; string hash = splasher.splashIt(new MSSpectrum(input[spec_col])); DateTime peTime = DateTime.Now; TimeSpan lap = new TimeSpan(); if(count % UPDATE_INTERVAL == 0) { lap = DateTime.Now.Subtract(sTime); Console.WriteLine("Elapsed {2:F5}s, average {3:F5}ms, this item: {4:F5}ms - {0} [{1}]", input[id_col], count, lap.TotalSeconds, lap.TotalMilliseconds/(count+1), peTime.Subtract(psTime).TotalMilliseconds); } result.Append(hash).Append(",").Append(input[id_col]).Append(",").Append(input[spec_col]); //Console.WriteLine(hash); fout.WriteLine(String.Format(result.ToString())); result.Clear(); eTime = DateTime.Now; stats.addTime(lap.TotalMilliseconds); count++; } fout.Flush(); } } Console.WriteLine(stats.getTimeData()); }