C# 从链接的资源/内容中获取流
C# get a stream from linked resource / content
我有一些“大”文件(50 MB 的 .csv),我想从它们那里获取流,因为我知道我想避免将它们构建为“嵌入式资源”(我的要求之一)。这些文件只有一个 class 访问,因此情况并不复杂。
最后,我的解决方案将以 .dll 形式结束。
我想知道最好的方法是什么:
1) 什么是最佳构建操作、内容或(链接)资源?
2) 如何从我的资源中获取流?
我在互联网上进行了大量搜索,none 找到了适合我的案例的解决方案:
我曾尝试通过资源管理器访问它们,但如果我理解得很好,它只是针对嵌入式资源
另一种解决方案是使用 Application.GetResourceStream 但我无法访问应用程序命名空间,我真的不知道为什么(我添加了 using System.Windows 但它确实如此没有解决问题)
到目前为止,我一直在使用testMethod尝试这些解决方案,我不知道它是否对问题有影响。
谢谢! :)
如果文件是 50Mb,我不会将它们嵌入到 DLL 中,除非用额外的文件部署 DLL 非常不切实际。
所以内容将是我的选择。 50Mb 不多也很合适,但要记住 DLL 是加载到内存中的,所以它会影响内存使用。我绝不会在我的 DLL 中添加 2Gb 的嵌入式资源! :P
流就是流。并且由于这些将是外部文件,因此您需要的是文件流。查看此线程以将 CSV 读取为流:Reading large text files with streams in C#
我有一些“大”文件(50 MB 的 .csv),我想从它们那里获取流,因为我知道我想避免将它们构建为“嵌入式资源”(我的要求之一)。这些文件只有一个 class 访问,因此情况并不复杂。 最后,我的解决方案将以 .dll 形式结束。
我想知道最好的方法是什么:
1) 什么是最佳构建操作、内容或(链接)资源?
2) 如何从我的资源中获取流?
我在互联网上进行了大量搜索,none 找到了适合我的案例的解决方案:
我曾尝试通过资源管理器访问它们,但如果我理解得很好,它只是针对嵌入式资源
另一种解决方案是使用 Application.GetResourceStream 但我无法访问应用程序命名空间,我真的不知道为什么(我添加了 using System.Windows 但它确实如此没有解决问题)
到目前为止,我一直在使用testMethod尝试这些解决方案,我不知道它是否对问题有影响。
谢谢! :)
如果文件是 50Mb,我不会将它们嵌入到 DLL 中,除非用额外的文件部署 DLL 非常不切实际。
所以内容将是我的选择。 50Mb 不多也很合适,但要记住 DLL 是加载到内存中的,所以它会影响内存使用。我绝不会在我的 DLL 中添加 2Gb 的嵌入式资源! :P
流就是流。并且由于这些将是外部文件,因此您需要的是文件流。查看此线程以将 CSV 读取为流:Reading large text files with streams in C#