C#找不到文件(从串口读取)

时间:2017-12-16 13:04:26

标签: c# textbox file.readalllines

我正在尝试打开一个名为条形码的文件,但是我收到了无法找到该文件的错误?

我用这一行来读取文件:

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 \ Husmaskin GUI \ Husmaskin   GUI \ BIN \调试\ PLANKA.DFX。

这有效(@“PLANKA.DXF”): Working textbox

这不(@RecievedData)?? Not working textbox

1 个答案:

答案 0 :(得分:0)

在屏幕截图中,文件扩展名有两个不同的值:DXFDFX

传入文字周围可能有额外的空格,因此我建议您在代码中添加.Trim()

我还建议您检查代码中的文件并创建对您更有用的错误消息:

var filename = txtFoo.Text;
if (!File.Exists(filename))
     throw new Exception($"Could not find file '{filename}'");