を使用してバイナリファイルから読み取ろうとしていますBinaryReader
。
これは私が私の読書メソッドを呼び出す方法です:
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");
}
}
これは私の読書方法です:
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;
}
現在、これらの行内の何かが機能していません。私のファイルは空ではありません。なぜなら、それは文字列だけなので、ファイルの内容を読み取ることができるからです。
私の問題は、ブレークポイントの何が問題になっているのかを見つけようとしていることですが、この行を通過するとすぐに:
string loadString = reader.ReadString();
プログラムが再び実行を開始します。そんなことがあるものか ?String[]
これにより、メソッド呼び出し後に自分の内部にあるものと自分の値を確認できなくなります。
理由は何ですか?前もって感謝します。
アップデート :
breakpoint
ここに移動してみました
string[] loadArray = loadString.Split(',');
しかし、私のプログラムは決して停止しないので、前の行を超えることはありません。
また、これは私の書き込み方法です:
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();
}
}