C#从链接的资源/内容中获取流

时间:2015-06-29 06:56:03

标签: c# c#-4.0 resources

我有一些“重”文件(.csv为50 MB)我希望从他们那里得到一个流知道我想避免将它们构建为“嵌入式资源”(我的要求之一)。这些文件只能由一个类访问,因此不是一个复杂的情况。 最后,我的解决方案将最终成为.dll。

我想知道最好的方法是什么:

1)什么是最佳构建操作,内容或(链接)资源?

2)如何从我的资源中获取流?

我一直在互联网上搜索很多,而且我找到的解决方案都没有找到我的案例:

  • 我曾尝试通过resourceManager访问它们,但如果我理解的话,它只适用于嵌入式资源

  • 另一个解决方案是使用Application.GetResourceStream但我无法访问Application命名空间,我真的不知道为什么(我添加了使用System.Windows但它没有解决问题)

到目前为止,我一直在使用testMethod尝试这些解决方案,我不知道它是否会对问题产生影响。

谢谢! :)

1 个答案:

答案 0 :(得分:0)

如果文件是50Mb,我不会将它们嵌入到DLL中,除非使用额外的文件部署DLL是非常不切实际的。

所以内容将是我的选择。 50Mb并不多,并且很适合,但请记住DLL已加载到内存中,因此会影响内存使用。我永远不会在我的DLL中添加2Gb嵌入式资源! :P

流是流。由于这些将是外部文件,因此它将是您所追求的文件流。请查看此主题,以便将您的CSV作为流阅读:Reading large text files with streams in C#