使用 FileStream 打开资源文件失败

Open Resource File with FileStream fails

我想用 FileStream 打开一个资源文件 Class。这是一个文本文件,我想逐行阅读它。

FileStream fs = new FileStream(Properties.Resources.Testing, FileMode.Open, FileAccess.Read);

调用的异常是System.ArgumentException,它说有一个无效的字符。

我希望任何人都可以帮助我解决这个问题,或者如果有更好的方法也可以,但我需要 .exe 中的文件,所以它需要是一个资源..

当您将文本文件添加为资源时,它将作为 字符串 嵌入。因此,您的 FileStream 构造函数调用将假设您正在尝试打开磁盘上的文件,其名称与文本文件内容相同。当然结局很糟糕。

如果你真的想要一个流,还不是很清楚,字符串往往是好的,你可以考虑 String.Split() 方法把它分成几行。或者你可能喜欢 StringReader class 所以你可以使用 ReadLine():

    using (var rdr = new StringReader(Properties.Resources.Testing)) {
        string line;
        while ((line = rdr.ReadLine()) != null) {
            // Do something with line
            //...
        }
    }