0

txtファイルへの書き込みに問題があります。

私の考え:

フォームをロードして、開いているファイルを作成したいと考えています。フォームが閉じている場合は、ファイルも閉じます。Form_load メソッドで、ユーザーとマシン名の情報を含む 2 番目のファイルを作成します。これを 2 番目のファイル (user_log) に書き込みます。他のユーザーがアプリケーションを起動した場合、このアプリケーションの使用ユーザーの名前を含むメッセージ ボックスが表示されるようにします。

ここに私のコード:

 private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                //Globale Datei wird erzeugt 
                var stream = File.Open("log.txt", FileMode.OpenOrCreate);
                global_stream = stream;

                //Benutzername und Rechnernummer wird ermitellt
                string username = Benutzer.GetUsername();
                string machine = tarasov_lib.Computer.GetMachineName();

                // User_Log wird erstellt
                using (var user_log = File.OpenWrite("user.txt"))
                {
                    user_log.Write("Benutzername: " + username + " Rechnernummer: " + machine); //error
                }       

            }
            catch (Exception)
            {
                //Daten werden aus der User_log gelesen
                TextDatei datei = new TextDatei();
                string info = datei.ReadLine("user.txt", 0);

                MessageBox.Show(info); 
            }

        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            global_stream.Close(); 
        }
4

1 に答える 1

0

ロードする前にログ ファイルを一時的なローカル パスに複製し、新しいファイルの内容を読み取ることができると思います。フォームを閉じるときではなく、読み取り/書き込みの直後にファイルを閉じることを忘れないでください。

(それについて議論するアイデアをコメントしてください)

お役に立てれば幸いです

于 2013-07-16T08:07:54.317 に答える