写入和检索文本文件时保持换行符

Posted

技术标签:

【中文标题】写入和检索文本文件时保持换行符【英文标题】:Maintaining line breaks when writing and retrieving a text file 【发布时间】:2012-10-15 00:41:47 【问题描述】:

我有一个应用程序,用户可以在其中撰写文章,并将它们显示在网页上。我不想将所有文本存储在数据库中,而是将其写入文本文件并以这种方式存储。 问题是,我似乎无法让文件保存格式,即换行符。如果用户键入

Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Sed eget ligula eget quam consectetur ornare。整数 sed sapien risus, ac tincidunt lectus。 Quisque ultrices mi 侵权人。 Fusce luctus magna non dolor facilisis imperdiet。 Praesent tempus gravida dolor, sat amet viverra ligula vehicula sat amet。

Donec congue sodales orci,在 sodales nunc infantum quis 中。 Proin feugiat feugiat 奥特莱斯。 Mauris iaculis libero non nibh sagittis infantum。 Etiam odio sapien,

pulvinar sed viverra nec,euismod eu massa。 Sed pulvinar diam a velit rhoncus non iaculis mi facilisis。

然后保存,保存为

Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Sed eget ligula eget quam consectetur ornare。整数 sed sapien risus, ac tincidunt lectus。 Quisque ultrices mi 侵权人。 Fusce luctus magna non dolor facilisis imperdiet。 Praesent tempus gravida dolor, sat amet viverra ligula vehicula sat amet。 Donec congue sodales orci,在 sodales nunc infantum quis 中。 Proin feugiat feugiat ultrices。 Mauris iaculis libero non nibh sagittis infantum.Etiam odio sapien, pulvinar sed viverra nec, euismod eu massa。 Sed pulvinar diam a velit rhoncus non iaculis mi facilisis。

有什么方法可以保持格式吗?

当前代码是

var fileContents = System.IO.File.ReadAllText(Server.MapPath(@"~/Articles/" + articlePost.atclFile + ".txt"));
articleTextbox.Text = fileContents.Replace(System.Environment.NewLine, "<br/>");

【问题讨论】:

@AustinSalonen 编辑显示代码 什么是articleTextbox?一个文本框? 您好,这是文字。我想到了解决方案。 Mikes 解决方案奏效了。感谢您的意见 【参考方案1】:

怎么样

articleTextbox.Text = fileContents.Replace("\r\n", "<br/>");

articleTextbox.Text = fileContents.Replace("\n", "<br/>");

【讨论】:

您应该只使用System.Environment.NewLine 而不是转义符(\n 和 \r\n)。这样更便携。 这个解决方案对我有用,但由于某种原因 Envirorment.NewLine 没有【参考方案2】:

好老头怎么样

     <pre> ... </pre>

【讨论】:

【参考方案3】:

您需要将文本换行符替换为 html 换行符:

var newText = oldText.Replace(System.Environment.NewLine, "<br/>");

【讨论】:

你能看看我的代码,看看你能不能指出我正确的方向

以上是关于写入和检索文本文件时保持换行符的主要内容,如果未能解决你的问题,请参考以下文章

如何在保持格式的同时从数据库中检索和回显文本[重复]

写入文本时删除换行符

在 Xcode 8 和 Swift 3 中写入文本文件并在应用重新启动时保持更改 [重复]

在 PHP 中写入文本文件时换行不起作用

如何将文本输入写入文件中的换行符?

将文本写入文件,包括空格