我正在使用文本编写器将数据写入文本文件,但如果该行超过1024个字符,则会插入换行符,这对我来说是个问题。关于如何解决这个问题或增加字符限制的任何建议?
textWriter.WriteLine(strOutput);
非常感谢
答案 0 :(得分:5)
使用Write,而不是WriteLine
答案 1 :(得分:5)
您正在使用TextWriter.WriteLine(string)
\r\n
在strOutput
之后追加textWriter.Write(strOutput);
。正如文档所说:
将字符串后跟行终止符写入文本流。
(强调我的。)这与1024个字符无关 - 我的猜测就是你在读它的方式(例如用1024个字符的缓冲区)。
为了避免额外的换行,只需使用
即可strOutput
编辑:您在评论中说“在写完整行后需要换行” - 但听起来Write
并不总是相同的行。
我怀疑实现你想要的最简单方法是将“复制”方面与“换行”方面分开。对要复制的所有文本使用textWriter.WriteLine();
,然后调用
{{1}}
当你想要换行时。如果这没有帮助,我认为我们需要更多的背景 - 请提供您正在做的代码示例。
答案 2 :(得分:4)
我写了一个示例应用程序,用于编写和读取1025个字符串。大小永远不会改变。虽然如果我用notepad.exe(Windows)打开它,我可以在第二行看到额外的字符。这些似乎是一个记事本限制。这是我的示例代码
static void Main(string[] args)
{
using (TextWriter streamWriter = new StreamWriter("lineLimit.txt")) {
String s=String.Empty;
for(int i=0;i<1025;i++){
s+= i.ToString().Substring(0,1);
}
streamWriter.Write(s);
streamWriter.Close();
}
using (TextReader streamReader = new StreamReader("lineLimit.txt"))
{
String s = streamReader.ReadToEnd();
streamReader.Close();
Console.Out.Write(s.Length);
}
}
答案 3 :(得分:0)
如果你需要在输出的末尾添加换行符,只需附加它们。
textWriter.Write(strOutput +"\r\n");