Ich versuche, aus einer Binärdatei mit BinaryReader
zu lesen. DieseBinärer Leser überspringt Anweisungen
ist, wie ich meine Lesemethode nennen:
foreach (Movie film in TreeBuilder.myMovies)
{
if (File.Exists(@"C:\Users\DaPhunk\Documents\Visual Studio 2010\Projects\YLK\Binary\" + film.MovieName + ".txt"))
{
string[] myArray = operationManager.BinaryReading(film.MovieName);
if (myArray != null)
{
this.textStarring.Text = myArray[1];
this.textProduced.Text = myArray[2];
this.textMusic.Text = myArray[3];
this.textYear.Text = myArray[4];
this.textTime.Text = myArray[5];
}
else
{
MessageBox.Show("An error occured");
}
}
Das ist meine Lesemethode:
public string[] BinaryReading(string name)
{
FileStream myStream = new FileStream(@"C:\Users\DaPhunk\Documents\Visual Studio 2010\Projects\YLK\Binary\" + name + ".txt", FileMode.Open);
BinaryReader reader = new BinaryReader(myStream);
string loadString = reader.ReadString();
string[] loadArray = loadString.Split(',');
reader.Close();
myStream.Close();
return loadArray;
}
Jetzt etwas in diese Richtung nicht funktioniert. Meine Datei ist nicht leer, da es nur eine Zeichenfolge ist, kann ich lesen, was in der Datei ist.
Mein Problem ist, ich versuche, was ist falsch mit einer Bruchstelle zu finden, aber sobald ich an dieser Linie erhalten:
string loadString = reader.ReadString();
Mein Programm beginnt wieder zu laufen. Wie ist das möglich ? Das hindert mich daran, zu überprüfen, was in meinem String[]
ist und was meine Werte nach dem Methodenaufruf sind.
Irgendeine Idee warum? Danke im Voraus.
Update:
Ich versuchte, meine breakpoint
hier
string[] loadArray = loadString.Split(',');
Aber mein Programm zu bewegen, hört nie auf, so wird es nie vorbei an der vorherigen Zeile.
Auch dies ist mein Writting Methode:
foreach (Movie film in TreeBuilder.myMovies)
{
if (film.MovieName == name)
{
FileStream myStream = new FileStream(@"C:\Users\DaPhunk\Documents\Visual Studio 2010\Projects\YLK\Binary\" + film.MovieName + ".txt", FileMode.Create);
BinaryWriter writer = new BinaryWriter(myStream);
writer.Write(film.MovieName + "," + starring + "," + produced + "," + music + "," + year + "," + lenght);
writer.Close();
myStream.Close();
}
}
Mein Haltepunkt ist in der ersten Zeile (foreach Zustand) – phadaphunk
(re Kommentare zu einer Antwort); Wenn Sie die Datei mit 'BinaryWriter' geschrieben haben, sollten Sie dies in der Frage klarstellen, und Sie sollten die Datei' .txt' wahrscheinlich nicht aufrufen. –
Danke, das war das Problem. Ich habe alle meine Erweiterungen für .bin geändert und alles hat gut funktioniert. Schreiben Sie einfach Ihren Kommentar als Antwort, damit ich ihn als akzeptiert markieren kann. Vielen Dank! – phadaphunk