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

C# Cant find file (read from serial port)

我正在尝试打开一个与条形码同名的文件,但出现无法找到该文件的错误消息?

我用这一行来读取文件:

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 但它没有帮助。 我是个初学者,所以我不太擅长为您找到正确的调试信息,所以这就是我得到的信息,请告诉我在哪里找到了更多有用的信息。 如果我中断执行并查看 "locals" 我有一行显示文本,并且我得到 "PLANKA.DFX" 这似乎是正确的。

调试报错信息如下:

Additional information: Could not find file E:\Win7\Google Drive\Visual Studio 2013 Projects\Husmaskin GUI\Husmaskin GUI\bin\Debug\PLANKA.DFX.

这个有效(@"PLANKA.DXF"):

这不(@RecievedData)??

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

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

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

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