私の最初の問題は、私は、このように私のファイルストリームなどを宣言した場合問題
filestream file;
streamreader file_in;
streamwriter file_out;
try
{
file = new filestream("data.txt", FileMode.OpenOrCreate);
file_in = new streamreader(file);
file_out = new streamwriter(file);
}
catch(IOException exc)
{
Console.WriteLine(exc.Message);
}
iが発見され、「未割り当てのローカル変数の使用」というエラーをスローの形で来ますなぜなら、すべてのストリームがtryブロックの外側であるがメインの中で宣言されているからです。
私のtry/catchブロックを削除してストリームを1行(例:FileStream file = new FileStream("data.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
)として宣言すると、私のファイルからの読み込みは機能しますが、ファイルへの書き込みはできません。ファイルへの書き込み機能は次のとおりです。
public bool write_to_file(ref StreamWriter file_out)
{
if (this.is_empty == true)
{
Console.WriteLine("error, there is nothing to write.");
Console.WriteLine("press any key to continue...");
Console.ReadKey();
return false;
}
try
{
string temp = this.is_empty + "," + this.movie_title + "," + this.year_released + "," + this.publisher + "," +
this.length + "," + this.acting_rating + "," + this.music_rating + "," + this.cinematography_rating + "," +
this.plot_rating + "," + this.duration_rating + "," + this.total_rating;
file_out.WriteLine(temp);
return true;
}
catch (IOException exc)
{
Console.WriteLine(exc.Message);
Console.WriteLine("press any key to continue...");
Console.ReadKey();
return false;
}
}
ご協力いただきありがとうございます。
「FileStream」を「filestream」に変更した理由は何ですか? –
-1、あなたが投稿したコード(第1部)はあなたが主張しているエラーを__not__します。 –