C#两个进程同时写一个文件时的问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 21:04:59
FileStream objFileStream = new FileStream(fileName, FileMode.Append, FileAccess.Write);
StreamWriter objStreamWriter = new StreamWriter(objFileStream);
objStreamWriter.WriteLine("ABCD");
objStreamWriter.Close();

我在Form里有一个Timer,每5秒钟用上面的方法网文件里写一次"ABCD"。
另外有一个按钮,按下按钮的时候用另一个方法往同一个文件里写"1234"
我想要的结果是"ABCD1234ABCD",但是现在出现问题,写出来的文件是"ABCDAB1234CD"
请问应该怎么解决。
没有用多线程。
一个是在Timer.Tick里,另一个在Button的Click里

请问锁文件代码怎么写?

写的时候给文件上锁/

改成READONLY

用多线程了么?

在写入之前可以判断一下前面4个字符是不是"1234",如果是则写入ABCD,否则,不进行任何操作

用锁解决 另一个操作的时候把文件给锁住,操作完成在解锁。