C#讀操作(字節/字符)Filestream、File、StreamReader


寫文件官方demo

https://docs.microsoft.com/zh-cn/dotnet/api/system.io.streamreader.readline?redirectedfrom=MSDN&view=netframework-4.8

 

 

方法一:使用Filestream,將文本一次性全部轉換為字節,之后轉換為string顯示在text中

OpenFileDialog fd = new OpenFileDialog();
            fd.Filter = "文本文件|*.txt";       //打開文件的類型
            if (fd.ShowDialog() == DialogResult.OK)
            {
                fn = fd.FileName;
                FileStream fs = new FileStream(fn, FileMode.Open, FileAccess.Read);
                int n = (int)fs.Length;
                byte[] b = new byte[n];
                int r = fs.Read(b, 0, n);
                textBox3.Text = Encoding.Default.GetString(b, 0, n);

方法二:使用Filestream,逐字節讀取文本,后將字節轉換為string顯示在text中

FileStream fs = new FileStream(fn, FileMode.Open, FileAccess.Read);
                long n = fs.Length;
                byte[] b = new byte[n];
                int cnt, m;
                m = 0;
                cnt = fs.ReadByte();
                while (cnt != -1)
                {
                    b[m++] = Convert.ToByte(cnt);
                    cnt = fs.ReadByte();
                }
textBox3.Text = Encoding.Default.GetString(b)

方法三:直接使用File的Read All Text 函數將文本文件內容全部讀入text

textBox.Text = File.ReadAllText(fn, Encoding.Default);

方法四:使用StreamReader,將文本中的的內容逐行讀入text

StreamReader sr = new StreamReader(fn, Encoding.Default);
                string line = sr.ReadLine();
                while (line != null)
                {
                    textBox.Text = textBox.Text + line + "\r\n";
                    line = sr.ReadLine();
                }

方法五:使用StreamReader中的ReadToEnd()函數,將文本中的內容全部讀入text

StreamReader sr = new StreamReader(fn, Encoding.Default);
                textBox.Text = sr.ReadToEnd();

 

來源“https://blog.csdn.net/swin16/article/details/80256123”

 

注解

TextReader 類是抽象類。 因此,不要在代碼中對其進行實例化。 StreamReader 類派生自 TextReader,並提供成員的實現以從流中讀取。 下面的示例演示如何使用 StreamReader.ReadAsync(Char[], Int32, Int32) 方法讀取文件中的所有字符。 它在將字符添加到 StringBuilder 類的實例之前,檢查每個字符是否為字母、數字或空格。

注解

TextReader 是 StreamReader 和 StringReader的抽象基類,分別從流和字符串讀取字符。 使用這些派生類打開文本文件以讀取指定范圍內的字符,或創建基於現有流的讀取器。

https://docs.microsoft.com/zh-cn/dotnet/api/system.io.textreader?redirectedfrom=MSDN&view=netframework-4.8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM