Program.cs 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Configuration;
  7. using System.IO;
  8. using System.Threading;
  9. namespace CapMoni
  10. {
  11. internal class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15. Console.WriteLine("开始采集...");
  16. var fileDir = ConfigurationManager.AppSettings["FileDir"].Trim();//采集文件存放目录
  17. var duration = ConfigurationManager.AppSettings["Duration"].Trim();//采集时长
  18. if (!int.TryParse(duration, out int durationInt))
  19. {
  20. Console.WriteLine("请在配置文件中配置正确的时长信息");
  21. return;
  22. }
  23. var freqs = ConfigurationManager.AppSettings["Freqs"].Trim();//频点
  24. while (true)
  25. {
  26. var dateNow = DateTime.Now;
  27. var fileNameDate = dateNow.ToString("yyyy_MM_dd_HH_mm_ss");
  28. var fileNameTime = $"{fileNameDate}_000000000";
  29. if (!Directory.Exists(fileDir))
  30. Directory.CreateDirectory(fileDir);
  31. var fileDate = dateNow.ToString("yyyy_MM_dd_HH");
  32. var fileDirDate = Path.Combine(fileDir, fileDate);
  33. var oldDir = Path.Combine(fileDir, dateNow.AddHours(-2).ToString("yyyy_MM_dd_HH"));
  34. if (Directory.Exists(oldDir))
  35. {
  36. Directory.Delete(oldDir, true);
  37. }
  38. if (!Directory.Exists(fileDirDate))
  39. Directory.CreateDirectory(fileDirDate);
  40. var freqList = freqs.Split(new string[] { ";" }, System.StringSplitOptions.RemoveEmptyEntries);
  41. Parallel.For(0, freqList.Length, idx =>
  42. {
  43. var fileName = $"{fileNameTime}_ch11_-1___N43.333333_E57.222222_96000.000Hz_{freqList[idx]}MHz_ch1_xd{idx + 1}";
  44. var filePath = Path.Combine(fileDirDate, $"{fileName}.dat");
  45. BinaryWriter datFile1 = new BinaryWriter(new FileStream(filePath, FileMode.Create), Encoding.UTF8);
  46. fileName = $"{fileNameTime}_ch22_-1___N43.333333_E57.222222_96000.000Hz_{freqList[idx]}MHz_ch2_xd{idx + 1}";
  47. filePath = Path.Combine(fileDirDate, $"{fileName}.dat");
  48. BinaryWriter datFile2 = new BinaryWriter(new FileStream(filePath, FileMode.Create), Encoding.UTF8);
  49. fileName = $"{fileNameTime}_ch33_-1___N43.333333_E57.222222_96000.000Hz_{freqList[idx]}MHz_ch3_xd{idx + 1}";
  50. filePath = Path.Combine(fileDirDate, $"{fileName}.dat");
  51. BinaryWriter datFile3 = new BinaryWriter(new FileStream(filePath, FileMode.Create), Encoding.UTF8);
  52. Thread.Sleep(durationInt * 1000);
  53. var dataCon = File.ReadAllBytes("1.dat");
  54. datFile1.Write(dataCon);
  55. datFile2.Write(dataCon);
  56. datFile3.Write(dataCon);
  57. //Thread.Sleep(6000);
  58. datFile1.Flush();
  59. datFile1.Close();
  60. datFile2.Flush();
  61. datFile2.Close();
  62. datFile3.Flush();
  63. datFile3.Close();
  64. Console.WriteLine($"{filePath}采集完毕");
  65. });
  66. }
  67. }
  68. }
  69. }