使用 Tab 读取文本文件
Reading a text file with Tabs
在一个文本文件中,我使用 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/>");
}
}
}
它应该是这样的:
这是它目前的样子:
我该如何解决?
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);
}
}
}
为什么不在<pre>
标签中输出文件内容?它将保留制表符并为您提供漂亮的等宽输出。
您可以在输出时创建真实的网格 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>");
}
}
这对我来说是最干净的解决方案 - 你想让它看起来像一个网格 - 制作一个网格:)
在一个文本文件中,我使用 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/>");
}
}
}
它应该是这样的:
这是它目前的样子:
我该如何解决?
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);
}
}
}
为什么不在<pre>
标签中输出文件内容?它将保留制表符并为您提供漂亮的等宽输出。
您可以在输出时创建真实的网格 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>");
}
}
这对我来说是最干净的解决方案 - 你想让它看起来像一个网格 - 制作一个网格:)