Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.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# 如何删除file.txt文件的最后一行_C#_Winforms_Visual Studio 2010 - Fatal编程技术网

C# 如何删除file.txt文件的最后一行

C# 如何删除file.txt文件的最后一行,c#,winforms,visual-studio-2010,C#,Winforms,Visual Studio 2010,我正在使用StreamReader读取文件.txt,并使用streamWriter编写 我想知道是否可以只删除最后插入的行? 我正在插入行,但有时其中一个插入是string.empty。然后转到我创建的异常`。。。在这个异常中,我想删除刚才插入的那一行 但是我重新创建文件,或者类似的东西,我只需要删除/擦除/删除最后一行。我可以这样做吗 麦可德:如果你们有别的办法,我会非常感激的 使用(StreamWriter streamW=newstreamwriter(fileFinal,true)) {

我正在使用
StreamReader
读取
文件.txt
,并使用
streamWriter
编写

我想知道是否可以只删除最后插入的行
?
我正在插入行,但有时其中一个插入是
string.empty
。然后转到我创建的
异常`。。。在这个异常中,我想删除刚才插入的那一行

但是我重新创建文件,或者类似的东西,我只需要删除/擦除/删除最后一行。我可以这样做吗

麦可德:如果你们有别的办法,我会非常感激的

使用(StreamWriter streamW=newstreamwriter(fileFinal,true)) { if(contador==numeriocampos) { 康塔多=0; }

  foreach (string s in clb_frente_impressao.Items) 
    {                            
    if (camposEscritos >= 10 * numeroCampos) 
      {
        streamW.WriteLine();
        streamW.WriteLine("-------------------------------------------------------");
        streamW.Write(nomearquivo + x.ToString());
        streamW.WriteLine();
        x++;
        camposEscritos = 0;
       }

       if (contador >= clb_frente_impressao.Items.Count)
          {
            contador = 0;
          }
       switch (s)
         {
            case "numero_carteira":
            if (campos_obrigatorios.Contains("numero_carteira") && campo.numero_carteira == "")
               {
                 dados_inexistentes++;
                 skipToNext = true;
                 break;
                }
                else if (campo.numero_carteira != "")
                   {
                      string aux = "";
                      qtdZeros = Txt_qtdZeros.Text;
                      if (qtdZeros == "")
                        {
                           qtdZeros = "8";
                        }
                   while (campo.numero_carteira.Length < Convert.ToInt32(qtdZeros))
                       {
                         campo.numero_carteira = campo.numero_carteira.Insert(0, "0");
                       }

                    if (usaC == "sim")
                        {
                      campos += @"\" + "*C" + aux + campo.numero_carteira + "*" + @"\";
                                                camposEscritos++;
                         }
                                            else
                                            {
                                                campos += @"\" + "*" + aux + campo.numero_carteira + "*" + @"\";
                                                camposEscritos++;
                                            }

                                            if (contador == 0)
                                            {
                                                streamW.WriteLine();
                                                streamW.Write("{0,-15}", campo.numero_carteira);
                                                contador++;
                                            }
                                            else
                                            {
                                                streamW.Write("{0,-15}", campo.numero_carteira);
                                                contador++;
                                            }
                                        }
                                       break;

                                    case "matricula":
                                       if (campos_obrigatorios.Contains("matricula") && campo.matricula == "")
                                       {
                                           dados_inexistentes++;
                                           skipToNext = true;
                                           break;
                                       }
                                        camposEscritos++;
                                        if (campo.matricula != "")
                                        {
                                            if (campo.tipo_pessoa == "3")
                                            {
                                                campos += @"\" + campo.matricula + "-" + campo.cod_dependente + @"\"; 
                                            }
                                            else
                                            {
                                                campos += @"\" + campo.matricula + @"\"; 
                                            }
                                        }
                                        if (contador > 0)
                                        {
                                            if (campo.cod_dependente != "")
                                            {
                                                streamW.Write("{0,-10}", campo.matricula + "-" + campo.cod_dependente);                                            
                                                contador++;
                                            }
                                            else
                                            {                                            
                                                streamW.Write("{0,-10}", campo.matricula);
                                                contador++;
                                            }
                                        }
                                        else
                                        {
                                            if (campo.cod_dependente != "")
                                            {
                                                streamW.WriteLine();
                                                streamW.Write("{0,-10}", campo.matricula + "-" + campo.cod_dependente);
                                                contador++;
                                            }
                                            else
                                            {
                                                streamW.WriteLine();
                                                streamW.Write("{0,-10}", campo.matricula);
                                                contador++;
                                            }
                                        }
                                        break;
  if (skipToNext) break;

                        } //Final do ForEach

                        if (skipToNext)
                        {
                            //HERE IS WHERE I WANT TO DELETE THE LAST LINE THAT WAS WRITED BY streamW
                            continue;
                        }
foreach(clb_frente_impressao.Items中的字符串s)
{                            
如果(camposEscritos>=10*numeroCampos)
{
streamW.WriteLine();
streamW.WriteLine(“----------------------------------------------------------------”;
streamW.Write(nomerquivo+x.ToString());
streamW.WriteLine();
x++;
camposEscritos=0;
}
如果(contador>=clb_frente_impressao.Items.Count)
{
康塔多=0;
}
开关
{
“第一卡泰拉”案:
if(campo_obrigatorios.Contains(“numerio_carteira”)&&campo.numerio_carteira==“”)
{
dados_不存在++;
skipToNext=true;
打破
}
else if(campo.numero_carteira!=“”)
{
字符串aux=“”;
qtdZeros=Txt_qtdZeros.Text;
如果(qtdZeros==“”)
{
qtdZeros=“8”;
}
而(campo.numero_carteira.Length0)
{
如果(campo.cod_dependente!=“”)
{
写(“{0,-10}”,campo.matricula+“-”+campo.cod_dependente);
contador++;
}
其他的
{                                            
写(“{0,-10}”,campo.matricula);
contador++;
}
}
其他的
{
如果(campo.cod_dependente!=“”)
{
streamW.WriteLine();
写(“{0,-10}”,campo.matricula+“-”+campo.cod_dependente);
contador++;
}
var lines = File.ReadAllLines(pathToFile);
File.WriteAllLines(pathToFile, lines.Take(lines.Length - 1));