C# Fehler bei Textdatei

Computer Forum

Zurück   Computer Forum - PC Forum - ModernBoard.de > Computerprobleme > Webmaster Hilfe / Programmierer Forum


Webmaster Hilfe / Programmierer Forum Alles rund um Webhosting, Domains, Programmierung, Portal & Forensysteme, Grafik & Design u.v.m.

RB

Sie betrachten gerade: C# Fehler bei Textdatei


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Ansicht
Alt 30.05.2007, 10:28   #1 (permalink)
Erfahrener Benutzer
 
Registriert seit: 18.01.2007
Beiträge: 4.268
Standard C# Fehler bei Textdatei

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.
Invidious ist offline   Mit Zitat antworten

Alt 30.05.2007, 10:44   #2 (permalink)
Sviper
Gast
 
Beiträge: n/a
Standard C# Fehler bei Textdatei

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...
  Mit Zitat antworten
Alt 30.05.2007, 11:28   #3 (permalink)
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 18.01.2007
Beiträge: 4.268
Standard C# Fehler bei Textdatei

Achja,ich habe wirklich vergessen bei der Ausgabe den FileStreamzu schließen. Danke.
Invidious ist offline   Mit Zitat antworten
Antwort

RB

Empfehlung:

Thema: C# Fehler bei Textdatei

Lesezeichen


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen für: C# Fehler bei Textdatei
Thema Autor Forum Antworten Letzter Beitrag
Daten in Textdatei ~c-m~ Netzwerkprobleme & Internetprobleme 0 05.04.2008 13:12
Mir nicht bekannte Textdatei auf Festplatte gefunden Der Dommäs Viren, Würmer, Spyware 9 18.11.2007 14:45
textdatei auslesen Serial Webmaster Hilfe / Programmierer Forum 5 23.05.2007 18:23
Internetlogin Fehler (Und fehler beim Shutdown) PC RACHE Netzwerkprobleme & Internetprobleme 0 17.04.2007 15:25
HDD fehler Ebola Hardware Probleme 14 23.12.2005 15:37

Zurück   Computer Forum - PC Forum - ModernBoard.de > Computerprobleme > Webmaster Hilfe / Programmierer Forum

Powered by vBadvanced CMPS v3.2.2
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:31 Uhr.
Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO 3.6.0