Я работаю над проектом с winforms. Я хочу читать из существующего файла .txt, но без жесткого кодирования. Это означает, что я хочу разрешить пользователю указывать путь к файлу в качестве входных данных. Я попробовал следующий код:
private void pathSearch_TextChanged(object sender, EventArgs e)
{
string path = "";
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
path = ofd.FileName;
pathSearch.Text = File.ReadAllText(path);
}
string[] lines = File.ReadAllLines(path);
if (!File.Exists(path))
{
// Create a file to write to.
string[] createText = { "Hello", "And", "Welcome" };
File.WriteAllLines(path, createText);
}
string[] values;
for (int i = 0; i < lines.Length; i++)
{
values = lines[i].ToString().Split('|');
string[] row = new string[values.Length];
for (int j = 0; j < values.Length; j++)
{
row[j] = values[j].Trim();
}
table.Rows.Add(row);
}
}
Вы можете проверить screenshot1 и screenshot2 , чтобы дать вам представление о том, как это будет работать. Я хочу ввести путь внутри текстового поля, но это дает мне ArgumentNullException. После ввода пути я хочу импортировать с помощью кнопки, чтобы увидеть данные в этой таблице. Ps Я не уверен, если проверка существования пути, работает таким образом.
Редактировать
После комментариев я отредактировал свой код, и у меня есть кое-что, что работает. Однако, чтобы импортировать файл, я должен выбрать его 2 раза, и он пишет одинаковые строки дважды внутри таблицы. Как я могу это исправить?