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