将文本文件从资源转换为数组

时间:2019-04-27 13:16:43

标签: c# winforms

我需要阅读我在Resources文件夹中上传的txt文件,然后将其转换为string []数组。无论如何,当我调试代码时,在第二行得到以下异常:System.ArgumentException:“路径中的非法字符”。

我已经尝试过使用计算机中的文件执行此方法,并且该方法有效。我检查了文字是否有特殊字符,但没有发现任何东西。我在一行的开头删除了空格。

          string text = Convert.ToString(Resources.File);
          string[] lines = File.ReadAllLines(text).ToArray();

尝试使用计算机中的文件:它可以工作。

        string text = Convert.ToString(@"C: \File.txt");
        if (File.Exists(text))
        {
            string[] lines = File.ReadAllLines(text);
            int i = 1;

            if (lines[i] == abc.Text)
            {
                DO STUFF;
                f2.ShowDialog();
            }
        }

我要转换的文件除外。

1 个答案:

答案 0 :(得分:2)

.txt文件添加到.resx资源时,设计器将为此创建一个字符串属性。

假设属性名称为MyFile,则只需使用Environment.NewLine分割字符串即可获取行:

var lines = Properties.Resources.MyFile
    .Split(new[] { Environment.NewLine }, StringSplitOptions.None);

注意:如果出于某种原因,您希望为byte[]文件使用.txt,则可以在资源设计器中将文件类型设置为二进制: / p>

enter image description here