C# Fehler bei Textdatei

Diskutiere C# Fehler bei Textdatei im Webmaster Hilfe / Programmierer Forum Forum im Bereich Computerprobleme; using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Schülertextdatei_Verwaltung { class Program...

  1. #1 Invidious, 30.05.2007
    Invidious

    Invidious Erfahrener Benutzer

    Dabei seit:
    18.01.2007
    Beiträge:
    4.267
    Zustimmungen:
    0
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;

    namespace Schülertextdatei_Verwaltung
    {
    class Program
    {
    struct Schueler
    {
    public int unknown;
    public string vorname;
    public string nachname;
    public DateTime geb;
    public string plz;
    public string ort;
    public string strasse;
    public char gueltig;
    }

    public enum Aktion
    {
    erstellen,
    erweitern
    }


    static void Main(string[] args)
    {
    Console.WriteLine("################################");
    Console.WriteLine("# Schülertextdatei-Verwaltung #");
    Console.WriteLine("#------------------------------#");
    Console.WriteLine("# Erstellen/Neue Datei E #");
    Console.WriteLine("# Erweitern/anfügen W #");
    Console.WriteLine("# Lesen/Blättern L #");
    Console.WriteLine("# Exit/Ende X #");
    Console.WriteLine("################################");

    while (true)
    {
    Console.Write("\nEingabe: ");
    string str = Console.ReadLine();
    str = str.ToUpper();

    switch (str)
    {
    case "E":
    DateiSchreiben(Aktion.erstellen);
    break;

    case "W":
    DateiSchreiben(Aktion.erweitern);
    break;

    case "L":
    Ausgabe();
    break;

    case "X":
    break;

    default:
    break;
    }
    }
    }

    static void DateiSchreiben(Aktion a)
    {
    string vDatei = "C:\\Dokumente und Einstellungen\\hd060038\\Eigene Dateien\\Visual Studio 2005\\Projects\\Schülertextdatei-Verwaltung\\Schuelertextdatei.txt";
    int z = 0;

    Schueler[] liste = new Schueler[30];

    Console.Write("Nummer eingeben: ");
    liste[z].unknown = Convert.ToInt32(Console.ReadLine());

    Console.Write("Vorname eingeben: ");
    liste[z].vorname = Convert.ToString(Console.ReadLine());

    Console.Write("Nachname eingeben: ");
    liste[z].nachname = Convert.ToString(Console.ReadLine());

    Console.Write("Geburtsdatum eingeben: ");
    liste[z].geb = Convert.ToDateTime(Console.ReadLine());

    Console.Write("Postleitzahl eingeben: ");
    liste[z].plz = Convert.ToString(Console.ReadLine());

    Console.Write("Ort eingeben: ");
    liste[z].ort = Convert.ToString(Console.ReadLine());

    Console.Write("Straße eingeben: ");
    liste[z].strasse = Convert.ToString(Console.ReadLine());

    FileStream fs;
    StreamWriter sw;

    if (a.ToString() == "erstellen")
    {
    fs = new FileStream(vDatei, FileMode.Create);
    }
    else
    {
    fs = new FileStream(vDatei, FileMode.Append);
    }

    sw = new StreamWriter(fs);

    sw.WriteLine(liste[z].unknown + ";" + liste[z].vorname + ";" + liste[z].nachname + ";" +
    liste[z].geb + ";" + liste[z].plz + ";" + liste[z].ort + ";" + liste[z].strasse);

    sw.Flush();
    sw.Close();

    }

    static void Ausgabe()
    {
    string vDatei = "C:\\Dokumente und Einstellungen\\hd060038\\Eigene Dateien\\Visual Studio 2005\\Projects\\Schülertextdatei-Verwaltung\\Schuelertextdatei.txt";

    Schueler[] liste = new Schueler[30];
    int z = 0;

    FileStream fs = File.OpenRead(vDatei);
    StreamReader sr = new StreamReader(fs);
    string leser;
    string[] splitter;

    while (true)
    {
    leser = sr.ReadLine();

    splitter = leser.Split(new Char[] { ';' });

    liste[z].unknown = Convert.ToInt32(splitter[0]);
    liste[z].vorname = Convert.ToString(splitter[1]);
    liste[z].nachname = Convert.ToString(splitter[2]);
    liste[z].geb = Convert.ToDateTime(splitter[3]);
    liste[z].plz = Convert.ToString(splitter[4]);
    liste[z].ort = Convert.ToString(splitter[5]);
    liste[z].strasse = Convert.ToString(splitter[6]);
    Console.WriteLine("Nummer: " + liste[z].unknown + "\n" + liste[z].vorname + liste[z].nachname + "\n" +
    liste[z].geb + "\n" + liste[z].plz + "\n" + liste[z].ort + "\n" + liste[z].strasse + "\n");
    if (sr.Peek() == -1)
    {
    break;
    }

    z++;
    };
    }
    }
    }



    In diesem Programm werde in eine bestehende Textdatei Schülerdaten hineingeschrieben. Das Programm funktioniert problemlos, jedoch wenn ich in einem Programmlauf "Erstelle" und "Erweitere" stürzt das Programm ab.
     
  2. Anzeige

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. Sviper

    Sviper Guest

    Hi! Wie "verabschiedet" sich das Programm denn? Hast du den Fehler schon genau lokalisiert per Debugging? Ich hab zwar keine erfahrung mit C# sondern nur mit C++ und Java, aber was du auf jeden Fall machen solltest ist auch den FileStream zu schließen, nicht nur den StreamWriter. Ich hab grad nicht viel Zeit, deswegen konnte ich mir das nur halbherzig angucken, aber irgendwie sieht das so aus, als würdest du wenn du erstellst und erweiterst 2 offene FileStreams auf dieselbe Datei haben...
     
  4. #3 Invidious, 30.05.2007
    Invidious

    Invidious Erfahrener Benutzer

    Dabei seit:
    18.01.2007
    Beiträge:
    4.267
    Zustimmungen:
    0
    Achja,ich habe wirklich vergessen bei der Ausgabe den FileStreamzu schließen. Danke. :)
     
Thema: C# Fehler bei Textdatei
Besucher kamen mit folgenden Suchen
  1. c

Die Seite wird geladen...

C# Fehler bei Textdatei - Ähnliche Themen

  1. Plötzlich SYNTP.SYS Fehler

    Plötzlich SYNTP.SYS Fehler: Hallo, hatte das erste Mal in meinem Leben einen syntp.sys Fehler. Muss ich da was machen? Oder macht das mein Betriebssystem selber?
  2. Fehler ID 4015

    Fehler ID 4015: Hallo Leute, ich bekomme neuerdings immer die Fehlermeldung: ID: 4015 Der DNS-Server hat einen kritischen Active Directory-Fehler ermittelt....
  3. Fehler beim Installieren des Grafikkartentreibers!

    Fehler beim Installieren des Grafikkartentreibers!: Hallo zusammen! Ich habe ein kleines Problem mit meinem Laptop, und zwar kann ich den Grafikkarten Treiber nicht installieren. Ich habe auf der...
  4. Fehler bei der Wiederherstellung?

    Fehler bei der Wiederherstellung?: Hallöle! Ich habe gestern mein Notebook auf Werkswerkeinstellungen (hießen doch so oder?) zurückgesetzt. Nachdem ich mich dann angemeldet habe...
  5. roter Balken bei Laufwerk c weg

    roter Balken bei Laufwerk c weg: Hallo, mein Problem ist, Laufwerk c zeigt plötzlich keinen roten Balken mehr an. (Speicher voll) Das Laufwerk an sich wird angezeigt.. Wie bekomme...