Datei löschen File.Delete und anschließend eine Stream mit der gleichen Datei erstellen?

StackOverflow https://stackoverflow.com/questions/1291577

  •  18-09-2019
  •  | 
  •  

Frage

public void LoadRealmlist()
{
    try
    {
        File.Delete(Properties.Settings.Default.WoWFolderLocation + 
            "Data/realmlist.wtf");

        StreamWriter TheWriter = 
            new StreamWriter(Properties.Settings.Default.WoWFolderLocation + 
            "Data/realmlist.wtf");

        TheWriter.WriteLine("this is my test string");
        TheWriter.Close();
    }
    catch (Exception)
    {       
    }            
}

Wird meine Methode ordnungsgemäß eine Datei zu löschen, dann eine mit „realmlist.wtf“ als Name und dann eine Linie, um es zu schreiben?

Ich bin ein bisschen verwirrt, weil ich nicht die Linie sehen kann, wo es tatsächlich schafft , um die Datei erneut. Oder ist der Akt der Schaffung eines Stream eine Datei automatisch erstellen?

War es hilfreich?

Lösung

Der Stream-Writer wird die Datei erstellen, wenn es nicht existiert. Es wird in dem Konstruktor erstellen, so dass, wenn der Stream instanziiert wird.

Andere Tipps

Sie wissen, wenn Sie eine Filestream-Instanz mit dem Stream Konstruktor übergeben, kann sie einfach eingestellt werden, um die Datei zu überschreiben. geben sie nur zusammen mit dem Konstruktor.

http://msdn.microsoft.com /en-us/library/system.io.filestream.filestream.aspx

Beispiel:

try
{
    using (FileStream fs = new FileStream(filename, FileMode.Create))
    {
        //FileMode.Create will make sure that if the file allready exists,
        //it is deleted and a new one create. If not, it is created normally.
        using (StreamWriter sw = new StreamWriter(fs))
        {
           //whatever you wanna do.
        }
    }
}
catch (Exception e)
{
    System.Diagnostics.Debug.WriteLine(e.Message);
}

Auch mit dieser Sie nicht die .Close Methode verwenden müssen. Die using() Funktion macht das für Sie.

Versuchen System.IO.File.CreateText.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top