var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
using(var writer = new StreamWriter(fs))
writer.Write(....);
파일에 이전에 텍스트가 있었고 새로 작성된 텍스트가 이미 파일에있는 텍스트보다 짧은 경우 파일의 쓸모없는 후미 콘텐트가 잘리지 않도록하려면 어떻게해야합니까?FileStream 및 StreamWriter - 작성한 후 파일의 나머지 부분을 자르는 방법?
이 경우 파일을 자르기 모드로 여는 것은 옵션이 아닙니다. 이 파일은 FileStream
개체를 받으면 이미 열려 있습니다. 위의 코드는 스트림의 속성을 설명하기위한 것입니다.
편집
아래의 대답에 확장 솔루션입니다 : 내가 그 일을 얼마나 잘 모르겠어요하지만
var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
using(var writer = new StreamWriter(fs))
{
writer.Write(....);
writer.Flush();
fs.SetLength(fs.Position);
}
대답/솔루션 코드가 나에게 잘못 보인다 : ** 전에 fs.Position 읽기 ** 당신에게 실제 바이트 수를 제공하지 않습니다) writer.Flush 또는 writer.Dipose (라고하는 데. 쓰여질 때 스트림이 자동으로 확장되기 때문에 운이 좋지만, 2 개의 길이가 적용되어 1 개의 쓰기가 적용되므로 파일이 불필요하게 조각 났을 수 있습니다. – springy76