C# Не могу найти файл (чтение из последовательного порта)
Я пытаюсь открыть файл с именем, аналогичным штрих-коду, но получаю сообщение об ошибке, что файл не найден?
Я использую эту строку, чтобы прочитать файл:
string[] DxfFile = System.IO.File.ReadAllLines(textBoxBarCodeScanner.Text);
Он работает нормально и откроет файл правильно, если я назначу текстовое поле с:
textBoxBarCodeScanner.Text = (@"PLANKA.DXF");
Я использую эти строки для чтения из последовательного порта:
RecievedData = RecievedData.Replace("\r\n", "").Replace("\r", "").Replace("\n", "");
textBoxBarCodeScanner.Text = (@RecievedData);
Сначала мне пришлось удалить / r, но это не помогло. Я добрый новичок, поэтому я не очень хорош в поиске правильной отладочной информации для вас, поэтому вот что я получил, и, пожалуйста, скажите мне, где я нашел больше полезной информации. Если я прерываю работу и смотрю на "местных жителей", у меня появляется строка с текстом, и там я получаю "PLANKA.DFX", который кажется правильным.
Сообщение об ошибке отладки выглядит следующим образом:
Дополнительная информация: Не удалось найти файл E:\Win7\Google Drive\Visual Studio 2013 Projects\ GUI Husmaskin \ GUI Husmaskin \bin\Debug\PLANKA.DFX.
Это работает (@"PLANKA.DXF"):
Это не (@RectainedData)??
1 ответ
На ваших скриншотах у вас есть два разных значения для расширения файла: DXF
а также DFX
,
Вокруг входящего текста могут быть дополнительные пробелы, поэтому я бы предложил также добавить .Trim()
к вашему коду.
Я бы также предложил проверить файл в вашем коде и создать сообщение об ошибке, которое будет более полезным для вас:
var filename = txtFoo.Text;
if (!File.Exists(filename))
throw new Exception($"Could not find file '{filename}'");