파일 배열에 문자열을 쓰려고하는데, 일반적으로 쉬운 일입니다. 그러나 다음과 같은 간단한 코드는 파일이 다른 프로세스에서 사용되고 있음을 알리는 IOException을 던지고 있습니다. 문제는이 코드가 실행될 때까지 파일이 존재하지 않는다는 것입니다. 그리고 파일을 사용하는 다른 프로세스가 없다는 것을 보증 할 수 있습니다. 그렇다면 어떻게 그 파일이 다른 프로세스에서 사용되지 않고 계속 진행할 수 있다는 어리석은 .NET 프레임 워크를 납득시킬 수 있습니까? 왜냐하면 이것은 정말로 그렇게 어려운 것이 아니기 때문입니다.왜 작동하지 않습니까?
StreamWriter writer = new StreamWriter(ListFileName);
foreach (string s in InfoLineList)
{
writer.WriteLine(s);
}
방금'File.WriteAllLines (경로, InfoListList)를 사용할 수' ? 어쩌면 파일 잠금 문제는 피할 수 있습니다. –
나는 할 수 있었다. 그러나 나는 정말로 파일이 다른 곳에서 열려 있다고 생각하는 이유를 알고 싶습니다. –
좋아요, WriteAllLines을 사용하도록 변경했습니다. 이제 작동합니다. 나는 왜 그것이 다른 방식으로 작동하지 않는지 아직도 이해하지 못합니다. 누군가가 저에게 설명 할 수 있다면 감사 하겠지만, WriteAllLines은 작동합니다. –