我有一个.txt文件,我在我的程序中处理列表。
我想以某种方式保存该List并将其包含在程序本身中,以便每次程序启动时都加载它,因此我不必每次都从.txt文件处理它。
它比“int x = 3”更复杂;因为它有10k行,我不想复制粘贴开头的所有内容。
我看了一遍,但没有找到任何类似的,任何想法的家伙? 此外,如果你是一个解决方案,它可以用于任何类型(数组,字典)吗?
根据要求,代码为:
var text = System.IO.File.ReadAllText(@"C:\Users\jazz7\Desktop\links_zg.txt");
修改
乔提出了解决方案: 在项目中包含该文件,将其“构建操作”设置为属性中的嵌入资源,并使用以下代码:
private string linkovi = "";
...
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "WindowsFormsApplication4.links_zg.txt";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
linkovi = reader.ReadToEnd();
}
字符串linkovi现在包含txt文件,现在位于应用程序中。谢谢大家!
答案 0 :(得分:3)
您可以将文件存储为可执行文件中的资源。
This KB article介绍了如何操作。
答案 1 :(得分:1)
从根本上说,您必须选择将数据存储在内存中还是将其存储在硬盘驱动器上。前者将减少你的加载时间,但可能使用不可接受的内存量,而后者则更慢,正如你所确定的那样。无论哪种方式,您的数据都必须存储在某个地方。
您是否需要一次加载所有数据?如果加载时间是问题,您可以逐行处理文件。虽然这总体上会较慢,但您仍然可以更快地访问一些可用的数据。