Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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# (StreamWriter)进程无法访问该文件,因为其他进程正在使用该文件_C#_Stream_Streamwriter - Fatal编程技术网

C# (StreamWriter)进程无法访问该文件,因为其他进程正在使用该文件

C# (StreamWriter)进程无法访问该文件,因为其他进程正在使用该文件,c#,stream,streamwriter,C#,Stream,Streamwriter,嗨,为什么要做这个工作 using (StreamWriter sw = File.CreateText(path)) { for (int i = 0; i < 100; i++) { sw.WriteLine(i.ToString()); } int count = File.ReadLines(path).Count(); sw.WriteLine(count.ToString()); } 使用(StreamWriter sw

嗨,为什么要做这个工作

using (StreamWriter sw = File.CreateText(path))
{
    for (int i = 0; i < 100; i++)
    {
        sw.WriteLine(i.ToString());
    }
    int count = File.ReadLines(path).Count();
    sw.WriteLine(count.ToString());
}
使用(StreamWriter sw=File.CreateText(路径))
{
对于(int i=0;i<100;i++)
{
sw.WriteLine(i.ToString());
}
int count=File.ReadLines(path.count();
sw.WriteLine(count.ToString());
}
我收到一条错误消息:“该进程无法访问该文件,因为它正被另一个进程使用。”

所以我想我必须这样说:

using (StreamWriter sw = File.CreateText(path))
{
    for (int i = 0; i < 100; i++)
    {
        sw.WriteLine(i.ToString());
    }
}

using (StreamWriter sw = File.CreateText(path))
{
    int count = File.ReadLines(path).Count();
    sw.WriteLine(count.ToString());
}
使用(StreamWriter sw=File.CreateText(路径))
{
对于(int i=0;i<100;i++)
{
sw.WriteLine(i.ToString());
}
}
使用(StreamWriter sw=File.CreateText(路径))
{
int count=File.ReadLines(path.count();
sw.WriteLine(count.ToString());
}

但我也犯了同样的错误。我在这方面非常糟糕,请有人帮我:)

当你调用
ReadLines()
时,由于打开了
StreamWriter
,文件已经打开了

您必须按顺序执行操作:

        int count = File.ReadLines(path).Count();
        using (StreamWriter sw = File.CreateText(path))
        {            
            sw.WriteLine(count.ToString());
        }

调用
ReadLines()
时,由于打开了
StreamWriter
,文件已经打开

您必须按顺序执行操作:

        int count = File.ReadLines(path).Count();
        using (StreamWriter sw = File.CreateText(path))
        {            
            sw.WriteLine(count.ToString());
        }

调用
ReadLines()
时,由于打开了
StreamWriter
,文件已经打开

您必须按顺序执行操作:

        int count = File.ReadLines(path).Count();
        using (StreamWriter sw = File.CreateText(path))
        {            
            sw.WriteLine(count.ToString());
        }

调用
ReadLines()
时,由于打开了
StreamWriter
,文件已经打开

您必须按顺序执行操作:

        int count = File.ReadLines(path).Count();
        using (StreamWriter sw = File.CreateText(path))
        {            
            sw.WriteLine(count.ToString());
        }
使用(StreamWriter sw=File.CreateText(路径))
{
对于(int i=0;i<100;i++)
{
sw.WriteLine(i.ToString());
}
}
int count=File.ReadLines(path.count();
使用(StreamWriter sw=File.CreateText(路径))
{
sw.WriteLine(count.ToString());
}
使用(StreamWriter sw=File.CreateText(路径))
{
对于(int i=0;i<100;i++)
{
sw.WriteLine(i.ToString());
}
}
int count=File.ReadLines(path.count();
使用(StreamWriter sw=File.CreateText(路径))
{
sw.WriteLine(count.ToString());
}
使用(StreamWriter sw=File.CreateText(路径))
{
对于(int i=0;i<100;i++)
{
sw.WriteLine(i.ToString());
}
}
int count=File.ReadLines(path.count();
使用(StreamWriter sw=File.CreateText(路径))
{
sw.WriteLine(count.ToString());
}
使用(StreamWriter sw=File.CreateText(路径))
{
对于(int i=0;i<100;i++)
{
sw.WriteLine(i.ToString());
}
}
int count=File.ReadLines(path.count();
使用(StreamWriter sw=File.CreateText(路径))
{
sw.WriteLine(count.ToString());
}


错误发生在哪里?您最好使用
新StreamWriter(path)
(顺便说一句,您知道该文件现在有100行,为什么需要计数?)这不是真正的代码。还有很多。但是它在File.ReadLinesOk处崩溃当然,那么是的,因为您试图读取一个已经打开的文件。错误发生在哪里?您最好使用
新StreamWriter(path)
(顺便说一句,您知道该文件现在有100行,为什么需要计数?)这不是真正的代码。还有很多。但是它在File.ReadLinesOk处崩溃当然,那么是的,因为您试图读取一个已经打开的文件。错误发生在哪里?您最好使用
新StreamWriter(path)
(顺便说一句,您知道该文件现在有100行,为什么需要计数?)这不是真正的代码。还有很多。但是它在File.ReadLinesOk处崩溃当然,那么是的,因为您试图读取一个已经打开的文件。错误发生在哪里?您最好使用
新StreamWriter(path)
(顺便说一句,您知道该文件现在有100行,为什么需要计数?)这不是真正的代码。还有很多。但它在File.ReadLinesOk处崩溃。当然,那么是的,因为您正试图读取已打开的文件。使用将处理并关闭流,无需手动执行。并且没有解释使用将处理并关闭流,无需手动执行。并且没有解释使用将处理并关闭流,不需要手动执行。并且没有解释Using将处理并关闭流,不需要手动执行。并且没有解释