Написание условия проверки и вывод в файл - C#
Формулировка задачи:
Такая проблема, есть текстовый файл c содержимым:
LM = Logical Machine ID, Rc = Recoveries, Rt = Retries, Cl = Clears
#,LM,Jam ID,Date Occurred,Time Jammed,Rc,Rt,Cl,Jam Text
001,05,015,04/07/15 15:18,00:00:32,01,02,00,Picker can't detect all parts:Ck #1 A1
002,02,030,09/21/15 15:17,00:00:19,00,00,01,ATT unable to detect tray at Gripper
003,01,045,09/21/15 15:15,00:01:32,00,01,00,Aux tray is hanging on guides or stuck in gripper.
004,01,045,09/21/15 15:15,00:00:17,00,01,00,Aux tray is hanging on guides or stuck in gripper.
005,04,030,09/18/15 19:28,00:00:55,01,02,00,Missing sort device(s) on sort boat. B1
006,05,029,09/18/15 19:24,00:01:39,06,06,01,TS Picker missing parts:Ck #1 A1
007,05,016,09/18/15 19:21,00:01:12,00,01,00,Picker detects parts stuck in nests:Ck #1 A1
008,05,016,09/18/15 19:20,00:00:23,00,01,00,Picker detects parts stuck in nests:Ck #1 A1
009,05,016,09/18/15 19:17,00:01:07,02,03,00,Picker detects parts stuck in nests:Ck #1 A1
010,05,016,09/18/15 19:15,00:00:17,00,01,00,Picker detects parts stuck in nests:Ck #1 A1
Я его прочитал построчно в массив, при этом разделителем сделал запятую,посчитал среднее время отклонения(пятая колонка) и записал в файл. Не получается написать такой момент,что если значение пятой колонки больше 2 часов он всю строку записывал в другой файл?
Решение задачи: «Написание условия проверки и вывод в файл»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{ //Путь к файлу
string path = @"C:\Users\a.filatov\Desktop\1\COMMA.txt";
//Читаем текст в файле построчно
string[] readText = File.ReadAllLines(path);
//Объявляем интервал времени
TimeSpan intervaltimesum = new TimeSpan();
//Текущее время в ячейке
TimeSpan current_time;
//Счётчик
int countTime = 0;
//Создание потока для записи в файл
StreamWriter W = new StreamWriter(@"C:\Users\a.filatov\Desktop\1\Write.txt");
StreamWriter A = new StreamWriter(@"C:\Users\a.filatov\Desktop\1\Writer.txt");
//Цикл для считывания строк
for (int i = 19; i < 1000; i++)
{
//Установка разделителем массива запятой
string[] elements = readText[i].Split(',');
//Вывод 4 элемента массива в файл
if (elements.GetLength(0) > 4) W.WriteLine(elements[4]);
//Сумма времени всех строк
if (TimeSpan.TryParse(elements[4], out current_time))
{
intervaltimesum += current_time;
countTime++;
}
//??????????????????????
var V = Regex.Match(elements[i], @"\d\d:\d\d:\d\d");
if (!V.Success) continue;
if (TimeSpan.Parse(V.Value) > new TimeSpan(2, 0, 0))
{
A.WriteLine(V);
}
}
//Вывод среднего времени в нужном формате
TimeSpan intervalAverage = TimeSpan.FromSeconds(intervaltimesum.TotalSeconds / countTime);
Console.WriteLine("Среднее время = {0:hh\\:mm\\:ss}", intervalAverage);
//Запись в файл времени
W.WriteLine("{0:hh\\:mm\\:ss}",intervalAverage);
W.Close();
}
}
}