是否可以在C#中同时读取多个文件?
是否可以在C#中同时读取多个文件?到目前为止我已经做到了是否可以在C#中同时读取多个文件?,c#,file,io,streamreader,C#,File,Io,Streamreader,是否可以在C#中同时读取多个文件?到目前为止我已经做到了 for (int i=1; i<Foo.number_of_files+1;i++) { StreamReader aa= new StreamReader (@"realtime_" + Foo.main_id + "_" + i + ".txt"); } 对于(int i=1;i您可能需要: var readers = new List<StreamReader> (); for (...) { v
for (int i=1; i<Foo.number_of_files+1;i++)
{
StreamReader aa= new StreamReader (@"realtime_" + Foo.main_id + "_" + i + ".txt");
}
对于(int i=1;i您可能需要:
var readers = new List<StreamReader> ();
for (...)
{
var aa = new StreamReader(@"realtime_" + Foo.main_id + "_" + i + ".txt");
readers.Add(aa);
}
var readers=newlist();
对于(…)
{
var aa=新的StreamReader(@“realtime_uu”+Foo.main_id+“u”+i+.txt”);
新增(aa);
}
看不到任何真正的问题,但这可能有助于:
List<StreamReader> SRL = new List<StreamReader>();
for (int i=1; i<Foo.number_of_files+1;i++)
{
StreamReader aa= new StreamReader(@"realtime_" + Foo.main_id + "_" + i + ".txt");
SRL.Add (aa);
}
List SRL=新列表();
对于(int i=1;iYes),一次读取多个文件、创建streamreaders的列表类型对象没有根本问题
您需要考虑和处理的实际问题是确保您关闭和处理它们都是干净的,并且不尝试访问具有多个对象的单个文件。
< P>我会考虑查看此操作的并行扩展:
平行。关于文件:
平行。例如:
代码可能类似于:
Parallel.For(0, Foo.number_of_files, i=> {
var a = new StreamReader(@"realtime_" + Foo.main_id + "_" + i + ".txt");
// Other read operations
a.Close();
a.Dispose();
});
这需要做大量的清理工作。将来,你能再花一点精力来制定一个好的问题,并确保使用正确的大写和标点符号吗?谢谢。事实上,我会尝试将StreamReader包装在using语句中,以确保它被关闭和处理。并行读取文件通常会减慢速度关闭。@Henk Holterman,除非文件位于不同的驱动器上。我想知道如果使用SSD,是否会加快速度。@Henkholtman它可能会减慢速度,但逐个或并行读取它们会更快吗?您还需要一些线程,除非您想以循环的方式一次读取一个StreamReader
n、 @Robert-是的,读取多个文件的实用性需要线程。我认为问题在于它的允许性。