Program.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. if (!Directory.Exists(fileDirDate))
  34. Directory.CreateDirectory(fileDirDate);
  35. var freqList = freqs.Split(new string[] { ";" }, System.StringSplitOptions.RemoveEmptyEntries);
  36. Parallel.For(0, freqList.Length, idx =>
  37. {
  38. var fileName = $"{fileNameTime}_ch11_-1___N43.333333_E57.222222_96000.000Hz_{freqList[idx]}MHz_ch1_xd{idx + 1}";
  39. var filePath = Path.Combine(fileDirDate, $"{fileName}.dat");
  40. BinaryWriter datFile1 = new BinaryWriter(new FileStream(filePath, FileMode.Create), Encoding.UTF8);
  41. fileName = $"{fileNameTime}_ch22_-1___N43.333333_E57.222222_96000.000Hz_{freqList[idx]}MHz_ch2_xd{idx + 1}";
  42. filePath = Path.Combine(fileDirDate, $"{fileName}.dat");
  43. BinaryWriter datFile2 = new BinaryWriter(new FileStream(filePath, FileMode.Create), Encoding.UTF8);
  44. fileName = $"{fileNameTime}_ch33_-1___N43.333333_E57.222222_96000.000Hz_{freqList[idx]}MHz_ch3_xd{idx + 1}";
  45. filePath = Path.Combine(fileDirDate, $"{fileName}.dat");
  46. BinaryWriter datFile3 = new BinaryWriter(new FileStream(filePath, FileMode.Create), Encoding.UTF8);
  47. Thread.Sleep(durationInt * 1000);
  48. var dataCon = File.ReadAllBytes("1.dat");
  49. datFile1.Write(dataCon);
  50. datFile2.Write(dataCon);
  51. datFile3.Write(dataCon);
  52. //Thread.Sleep(6000);
  53. datFile1.Flush();
  54. datFile1.Close();
  55. datFile2.Flush();
  56. datFile2.Close();
  57. datFile3.Flush();
  58. datFile3.Close();
  59. Console.WriteLine($"{filePath}采集完毕");
  60. });
  61. }
  62. }
  63. }
  64. }