在文本文件中,我使用 TAB 创建一个类似于列的网格,但显然这些选项卡只是作为空格读取,这当然会破坏格式。
这是我的代码(path
是文件路径,例如D:/folder/testtt.txt
):
if (File.Exists(path))
{
using (TextReader tr = new StreamReader(path))
{
while (tr.Peek() != -1)
{
Response.Write(tr.ReadLine() + "<br/>");
}
}
}
这就是它应该出现的方式:
这就是目前的情况:
我该如何解决?
答案 0 :(得分:2)
ISO-8859-1 HTML中没有定义标签实体,所以我认为你可以用一些
字符替换标签字符:
if (File.Exists(path))
{
using (TextReader tr = new StreamReader(path))
{
while (tr.Peek() != -1)
{
var htmlLine = tr.ReadLine().Replace("\t", " ") + "<br/>";
Response.Write(htmlLine);
}
}
}
答案 1 :(得分:1)
为什么不在<pre>
标记中输出文件内容?它将保留选项卡并为您提供一个漂亮的等宽输出。
答案 2 :(得分:1)
您可以在输出HTML时创建真正的网格:
if (File.Exists(path))
{
using (TextReader tr = new StreamReader(path))
{
Response.Write("<table>");
while (tr.Peek() != -1)
{
Response.Write("<tr><td>");
Response.Write(String.Join("</td><td>", tr.ReadLine().Split('/t')));
Response.Write("</td></tr>");
}
Response.Write("</table>");
}
}
这对我来说是最干净的解决方案 - 你希望它看起来像一个网格 - 制作一个网格:)