从字符串中读取字节时出现C#System.NotSupportedException

时间:2017-10-16 07:18:11

标签: c#

我想知道是否有人可以帮助我这个,我搜索整个互联网,我似乎找不到任何解决方案,我想从txt文件中读取字节,起初我使用字符串数组来获取以.txt结尾的文件,然后将字符串数组转换为字符串,并使用该字符串读取所有字节并将其放在字节数组中。但是当我运行该程序时,它会出现一个异常,说明System.NotSupportedException。有人可以帮忙吗?谢谢你提前。

 String[] fileArray = Directory.GetFiles(@"C:\Users\Desktop\feature", "*.txt");
        String file = ConvertStringArrayToString(fileArray);
Byte[] pFeatureLib = File.ReadAllBytes(file); // error occur here


  public String ConvertStringArrayToString(String[] array)
  {
        // Concatenate all the elements into a StringBuilder.
        StringBuilder builder = new StringBuilder();
        foreach (string value in array)
        {
            builder.Append(value);
            builder.Append('.');
        }
        return builder.ToString();
  }

1 个答案:

答案 0 :(得分:1)

你得到一个文件数组 - 意味着你得到多个文件。

代码应为:

String[] fileArray = Directory.GetFiles(@"C:\Users\Desktop\feature", "*.txt");
foreach(string file in fileArray){
     Byte[] pFeatureLib = File.ReadAllBytes(file);
}

或者如果您只想要第一个文件(出于任何原因):

String[] fileArray = Directory.GetFiles(@"C:\Users\Desktop\feature", "*.txt");
if(fileArray.Length > 0) {
    Byte[] pFeatureLib = File.ReadAllBytes(fileArray[0]);
}