我想用 FileStream 类打开一个资源文件。这是一个文本文件,我想逐行阅读。
FileStream fs = new FileStream(Properties.Resources.Testing, FileMode.Open, FileAccess.Read);
被调用的异常是System.ArgumentException
,它说有一个无效字符。
我希望任何人都可以帮助我解决这个问题,或者如果有更好的方法也可以,但我需要 .exe 中的文件,所以它需要是一个资源..
我想用 FileStream 类打开一个资源文件。这是一个文本文件,我想逐行阅读。
FileStream fs = new FileStream(Properties.Resources.Testing, FileMode.Open, FileAccess.Read);
被调用的异常是System.ArgumentException
,它说有一个无效字符。
我希望任何人都可以帮助我解决这个问题,或者如果有更好的方法也可以,但我需要 .exe 中的文件,所以它需要是一个资源..
当您将文本文件添加为资源时,它将作为字符串嵌入。因此,您的 FileStream 构造函数调用将假定您正在尝试在磁盘上打开一个名称与文本文件内容相同的文件。当然结局很糟糕。
如果你真的想要一个流不是很清楚,字符串往往是好的,你可以考虑使用 String.Split() 方法将它分成几行。或者您可能喜欢 StringReader 类,因此您可以使用 ReadLine():
using (var rdr = new StringReader(Properties.Resources.Testing)) {
string line;
while ((line = rdr.ReadLine()) != null) {
// Do something with line
//...
}
}