与asp.net的文本文件没有换行符

时间:2009-09-12 19:06:30

标签: asp.net

我想阅读文本文件并将其内容加载到我的页面。我试图用StreamReader读取文件,然后将文本分配给Label,但页面中的文本只是一行。我的意思是文本文件中的行没有在页面中查看。我该怎么办?

5 个答案:

答案 0 :(得分:2)

也许处理症状而不是问题本身,您可以将文本文件的内容包装在<PRE>标记内,其中与HTML中的大多数其他内容不同,空格是受到尊重的。

答案 1 :(得分:1)

文本文件使用\ n或\ r \ n来获取新行(\ n是换行符,\ n是回车符 - 在打字机当天回来,你必须将栏拉回到左边,这是称为回车并将纸张向下滚动一行以从换行线的左侧开始 - )。 Windows通常使用\ r \ n(虽然它取决于创建文件的应用程序)mac通常使用\ n。

另一方面,

HTML使用<br/&gt;新行的标记(如果你在当前的html输出上做一个viewsource,你会看到换行符)。所以你需要做的就是替换\ r \ n或用。你可以这样做:

yourstring = yourstring.Replace("\r\n", "<br/>");

或者如果你不确定文件中使用了什么,或者使用了\ r \ n和\ n,你可以使用

yourstring = yourstring.Replace("\r\n", "<br/>").Replace("\n", "<br/>");

请注意,字符串是不可变的,因此像Replace这样的方法会返回包含替换项的字符串的副本。原始字符串将保持不变。

答案 2 :(得分:1)

请试试这个

if(System.IO.File.Exists(Server.MapPath(“test.txt”)))

    {
        System.IO.StreamReader StreamReader1 = new 

就是System.IO.StreamReader(使用Server.Mappath( “test.txt的”));

        lblMyLabel.Text= StreamReader1.ReadToEnd();

        StreamReader1.Close();
    }

答案 3 :(得分:0)

HTML无法识别文本文件中的空格(换行符等)。如果您要将内容呈现为HTML,则需要将换行符转换为<br/&gt;标签

答案 4 :(得分:0)

尝试这样的事情:

string path = 'c:\myfile.txt':
lblMyLabel.Text = String.Join('<br/>', File.ReadAllLines(path));