簡體   English   中英

如何將文本文件的內容逐行輸出到 ASP.NET 上的 TextBox?

[英]How can I output text file's content line by line to a TextBox on ASP.NET?

我正在 ASP.net 中構建一個網站,在這種情況下,我只是嘗試讀取 .txt 文件並將其輸出到該頁面加載時的文本框中。 我寫了這段代碼,所以我可以執行我的想法:

protected void Page_Load(object sender, EventArgs e)
{
    foreach (string line in System.IO.File.ReadLines(@"file_path"))
    {
        TextBox1.Text = line;
    }
}

但是,這不起作用,因為當我在此頁面上執行網站時,沒有加載任何內容。 沒有被調用的異常或任何錯誤。 我能做什么? 如果您需要更多詳細信息或信息,請不要吝嗇詢問。

編輯:我認為重要的是說我已經測試過

TextBox1.Text = "Hello World";

這工作正常。

好吧,要閱讀文本,這是有效的:

        string sFile = @"C:\TEST2\T.txt";
        string sTextData = File.ReadAllText(sFile);
        
        TextBox1.Text = sTextData;

如果出於某種原因,您遺漏了一些巨大的大量細節,比如您只想要文件中的第一行文本?

然后這個:

        string sFile = @"C:\TEST2\T.txt";
        string sTextData = File.ReadAllText(sFile);

        string strFirstLine = sTextData.Split(System.Environment.NewLine.ToCharArray())[0];

        TextBox1.Text = strFirstLine;

供參考:

如果您需要/想要在該框中顯示多於一行的文本,請不要忘記將文本框設置為多行。

正如所指出的,我們可以使用這個:

  File.ReadAllLines(sFile).FirstOrDefault();

但是,上面仍然讀取整個文本文件。

如果文本文件要大,而我們仍然想要第一行,或者希望逐行讀取+處理,那么這樣更好:

            StreamReader sR = new StreamReader(sFile);
            int i = 0;
            while (!sR.EndOfStream)
            {
                i++;
                Debug.Print(i.ToString() + "->" + sR.ReadLine());
                if (i >= 1)
                    break;
            }
            sR.Close();

那么,上面會逐行讀取,如果文本文件很大,或者我們希望只從文件中拉取 + 讀取第一行? 那么當然上面的例子更好,因為從性能 + io 的角度來看,只有第一行(或如果 i 條件改變時的幾行)更好。

要讀取第一行,您可以簡單地編寫此File.ReadLines(“YourFileName”).FirstOrDefault;

您需要使用File.ReadAllText方法。 它重新運行string值。 然后您可以分配給Text屬性。

File.ReadLines返回Ienumerable<string>而不是string

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM