На форме есть кнопка и она должна открывать текстовые файлы с помощью OpenFileDialog(то есть текствые файлы разбросаны по компьютеру или же нужно открыть не один конкретно а каждый раз разные-но это не важно)
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog opnfldlg = new OpenFileDialog();
opnfldlg.InitialDirectory = "c:\\";
opnfldlg.Filter = "txt files(*.txt)|*.txt|All Files(*.*)|*.*";
opnfldlg.FilterIndex = 2;
opnfldlg.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
DataSet ds = new DataSet();
ds.Tables.Add("Temp");
StreamReader stred = new
StreamReader(opnfldlg.FileName);//Исключение!
string firstLine = stred.ReadLine();
//массив имен колонок из файла
string[] arraNameColumn =
System.Text.RegularExpressions.Regex.Split(firstLine, ";");
for (int i = 0; i < arraNameColumn.Length; i++)
{
ds.Tables[0].Columns.Add(arraNameColumn[i]);
}
string Line = stred.ReadLine();
while (Line != null)
{
string[] arraCell = System.Text.RegularExpressions.Regex.Split(Line, ";");
ds.Tables[0].Rows.Add(arraCell);
Line = stred.ReadLine();
}
dataGridView1.DataSource = ds.Tables[0];
stred.Close();
dataGridView1.AllowUserToAddRows = false;
}
}
Но выскакивает такое исключение на этой строке
StreamReader stred = new StreamReader(opnfldlg.FileName)
Необработанное исключение типа "System.ArgumentException" в mscorlib.dll
Дополнительные сведения: Пустое имя пути не допускается.
После объявления OpenFileDialog было добавлено следующее:
FileIOPermission fioper = new FileIOPermission(PermissionState.Unrestricted);
fioper.AllLocalFiles = FileIOPermissionAccess.Read;
Но безрезультатно.
По шаговая отладка показала следующее что название открываемого файла нигде не обозначается. Наверное так не должно быть.
Тогда вопрос? Если он сам не может определить путь через который открывается файл то как можно устранить эту проблему?
Ээээ...
Вы показываете юзеру диалог, лежащий в переменной openFileDialog1
, а читаете значение из opnfldlg
. Исправляйте.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
В ListBox добавляется музыкаНужно чтобы когда пользователь выберет/выделит музыку в ListBox и после нажмет на Button, то в PictureBox должна отобразится...
ЗдравствуйтеВызывая функцию GetSystemInfo из kernel32 через p/invoke
Делаю подобие школьного сайтаВ приложении MVC 4 заимплементил кастомный membership provider, соответственно при помощи code first entity framework сгенерировал...