【问题标题】:Convert A Text File From Resources Into Array将文本文件从资源转换为数组
【发布时间】:2019-05-13 23:36:52
【问题描述】:

我需要读取一个我上传到 Resources 文件夹中的 txt 文件,然后我必须将它转换为一个 string[] 数组。无论如何,当我调试代码时,在第二行我得到以下异常: System.ArgumentException: 'Illegal characters in path'。

我已经用我电脑中的一个文件尝试了这种方法,它可以工作。我检查了我的文本是否有特殊字符,但我没有找到任何东西。我删除了一行开头的空格。

          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();
            }
        }

我要转换的文件除外。

【问题讨论】:

  • Resources.File 是一个字符串。只需将其拆分为Enivironment.NewLine

标签: c# winforms


【解决方案1】:

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

假设属性名称是MyFile,那么要得到行你只需要使用Environment.NewLine分割字符串:

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

注意:如果出于任何原因,您有兴趣拥有.txt 文件的byte[],您可以在资源设计器中将文件类型设置为二进制:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    相关资源
    最近更新 更多