Я пытаюсь прочитать большой файл журнала в DataGridView путем поиска определенных строк. Проблема в том, что чтение строк занимает очень много времени. У меня есть 8 DataGridViews, потому что я ищу 8 разных строк (а их много!), И мне нужно по-разному называть каждый столбец для этих строк. Мне нужно найти способ улучшить мой код и ускорить чтение.
Я пытался записать определенные строки во второй файл, а затем прочитать из этого файла, чтобы я мог избежать работы с очень большим файлом каждый раз, когда я что-то ищу. Но это все еще слишком медленно.
Также я использую оператор using и StreamWriter, потому что слышал, что он быстрее.
//open file
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
...
//search and write in second file
using (StreamWriter writer = new StreamWriter(secondFilepath + "secondfile.txt"))
{
foreach (string line in File.ReadLInes(@"" + filePath + "", Encoding.UTF8))
{
if (foundBlabla == false)
{
if (line.Contains("specificString/"))
{
writer.WriteLine(line);
foundBlabla = true;
}
}
...
}
writer.Close();
}
}
//read from second file and put in datagridview
foreach (string linew in File.ReadLines(secondFilepath + "\\secondfile.txt". Encoding.UTF8))
{
if (linew.Contains("specificString/"))
{
int startindex = linew.IndexOf("specificString/");
int Endindex = linew.IndexOf("/>");
string outputstring = linew.Substring(startindex + 1, Endindex - startindex - 0);
string[] Columns = outputstring.Split('/');
dataGridView2.Rows.Add(Columns);
}
...
}}}
//how I switch between DataGridViews
private void RadioButton4_CheckedChanged(object sender, EventArgs e)
{
dataGridView1.Visible = false;
dataGridView2.Visible = false;
dataGridView3.Visible = false;
dataGridView4.Visible = true;
dataGridView5.Visible = false;
dataGridView6.Visible = false;
dataGridView7.Visible = false;
dataGridView8.Visible = false;
}
Это то, как я ищу конкретные строки и как я пишу их во втором файле, и как я читаю из этого файла.
Как я уже сказал, есть 8 DataGridViews, и я переключаюсь между этими DataGridViews с помощью радиокнопок.
Интересно, есть ли лучший способ читать и писать?