0

我想阅读文件的内容。但这些代码没有帮助。

string[] readText = File.ReadAllLines(path); this line is giving error.

protected void btnRead_Click(object sender, EventArgs e)
{
    string path = fileupload1.PostedFile.FileName;
    if (!string.IsNullOrEmpty(path))
    {
        string[] readText = File.ReadAllLines(path);
        StringBuilder strbuild = new StringBuilder();
        foreach (string s in readText)
        {
            strbuild.Append(s);
            strbuild.AppendLine();
        }
        textBoxContents.Text = strbuild.ToString();
    }
}
4

2 回答 2

0

File.ReadAllText函数期望文件存在于指定位置。您尚未将其保存在服务器上,但您正在尝试阅读它。如果您不需要将上传的文件保存在服务器上,您可以直接从输入流中读取。

protected void btnRead_Click(object sender, EventArgs e)
{
    if (fileupload1.PostedFile != null && fileupload1.PostedFile.ContentLength > 0)
    {
        using (var reader = new StreamReader(fileupload1.PostedFile.InputStream))
        {
            textBoxContents.Text = reader.ReadToEnd();
        }
    }
}

这适用于文本文件。如果您想解析一些其他格式,例如 Word 文档,您将需要一个库来执行此操作。

于 2012-09-18T06:19:26.563 回答
0

这应该工作

string[] lines = System.IO.File.ReadAllLines(@"..\asd.txt");
for (i = 0; i < lines.Count; i++)
System.Console.WriteLine("Contents = " + lines[i]);
}
于 2012-09-18T06:21:48.713 回答