我想在.Net應用程序中使用NVelocity模板:使用模板將結果輸出到文件。除了輸出從未被完全覆蓋的事實外,它似乎一切正常。如果我的文件長度爲100個字符,並且模板只顯示20個字符,則最後的80個字符永遠不會更改!用Velocity/NVelocity完全覆蓋文件
代碼示例:
FileStream fileStream = new FileStream(outputPath, FileMode.OpenOrCreate, FileAccess.Write);
using (StreamWriter streamWriter = new StreamWriter(fileStream))
{
velocityEngine.MergeTemplate(templateName, Encoding.Default.WebName, velocityContext, streamWriter);
}
所以,如果我的模板輸出AAAA和文件已經包含BBBBBBBB然後在最後,該文件包含AAAABBBB在運算結束。
任何線索我如何才能完全覆蓋文件? - 例如在上面的例子中,最終輸出應該是AAAA。不太確定這是否只是純粹的流相關的東西 - 但我以前沒有遇到這個問題與文件流。
很高興寫一個重置方法,或者只是輸出到一個內存流並覆蓋文件,但我想盡可能讓它像這樣工作! **編輯:''通過致電
fileStream.SetLength(0);
當我打開文件。但願意知道是否有更好的方法!