将 CSV 文件导入文本框,但格式不正确
本文关键字:格式 不正确 文本 CSV 文件 导入 | 更新日期: 2023-09-27 18:35:17
我想将包含十六进制值的 CSV 文件的内容添加到文本框中,并将每个字节输出到列表框中。
单击添加文件按钮时,CSV 文件的内容会显示在文本框中,每个字节用逗号分隔,但是当我点击写入按钮时,它会引发异常。
"系统格式异常,其他不可解析字符位于字符串末尾。"
我看不出这是怎么发生的,因为当输入其他以逗号分隔的十六进制值时,它工作得很好。 文本框中的格式完全相同(例如 AA,66,FF,EE),但似乎不适用于 CSV 文件?
private void AddFileSPI_Click(object sender, EventArgs e)
{
string AddFile = "";
DialogResult result = openFile.ShowDialog();
if (result == DialogResult.OK)
{
string file = openFile.FileName;
try
{
AddFile = File.ReadAllText(file);
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
}
}
Value.Text = AddFile;
}
private void Write_Click(object sender, EventArgs e)
{
string hex = Value.Text;
string[] hex1 = hex.Split(',');
byte[] bytes1 = new byte[hex1.Length];
for (int j = 0; j < hex1.Length; j++)
{
bytes1[j] = Convert.ToByte(hex1[j], 16);
hexValues1.Add(bytes1[j]);
writebuff = hexValues1.ToArray();
hexValue = writebuff[x].ToString("X2");
WriteHexValues.Items.Add("0x" + hexValue);
x++;
}
}
删除空格:
for (int j = 0; j < hex1.Length; j++)
{
string fieldString = hex1[j].Trim();
if(string.IsNullOrWhiteSpace(fieldString)) throw ... // or other error handling
bytes1[j] = Convert.ToByte(hex1[j], 16);
应该有帮助...
更改十六进制。Split(',');自
hex.Split(",'r'n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);