Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在C#中同时读取多个文件?_C#_File_Io_Streamreader - Fatal编程技术网

是否可以在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

是否可以在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 (...)
{
   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-是的,读取多个文件的实用性需要线程。我认为问题在于它的允许性。