gpt4 book ai didi

c# - Streamwriter 有时会在一行中间切断我的最后几行?

转载 作者:行者123 更新时间:2023-11-30 18:21:02 31 4
gpt4 key购买 nike

这是我的代码。 :

FileStream fileStreamRead = new FileStream(pathAndFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.None);
FileStream fileStreamWrite = new FileStream(reProcessedFile, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);

StreamWriter sw = new StreamWriter(fileStreamWrite);

int readIndex = 0;
using (StreamReader sr = new StreamReader(fileStreamRead))
{
while (!sr.EndOfStream) {
Console.WriteLine("eof" + sr.EndOfStream);
readIndex++;
Console.WriteLine(readIndex);
string currentRecord = "";
currentRecord = sr.ReadLine();
if (currentRecord.Trim() != "")
{
Console.WriteLine("Writing " + readIndex);
sw.WriteLine(currentRecord);
}
else {
Console.WriteLine("*******************************************spaces ***********************");
}
}

它用一个测试文件和半行截断了 2 行,然后用我运行它的另一个测试文件截断了 1 行和半行。

我不是您可能看到的流阅读器/编写器专家。

任何想法或建议都将不胜感激,因为这让我很生气。我确定是我错误地使用了这些。

最佳答案

您缺少 Flush/Close 或只是using 用于您的编写器。

using(FileStream fileStreamWrite = 
new FileStream(reProcessedFile, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
{
using(StreamWriter sw = new StreamWriter(fileStreamWrite))
{
// .... write everything here
}
}

关于c# - Streamwriter 有时会在一行中间切断我的最后几行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36443515/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com