c#檔案之讀操作摸索學習

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   io   檔案   for   

主要知識點:

一. FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//唯讀許可權開啟1.txt檔案

參數1:

"1.txt":檔案路徑,通常用字串變數或者字串常量表示,如:"d:\\1.txt";

參數2:

FileMode.Open:開啟模式,此種方式如果存在則開啟,否則拋出異常。

FileMode.Append:追加模式,開啟檔案或建立檔案並尋找到檔案尾,只能在FileAccess.Write許可權下使用。

FileMode.Create:指定作業系統建立檔案,如果已存在相同名稱檔案,則覆蓋。

FileMode.CreateNew:指定作業系統建立檔案,如果已存在相同名稱檔案,則拋出異常。

FileMode.OpenOrCreate:如果檔案存在,則開啟。如果不存在則建立一個檔案。

FileMode.Truncate:開啟現有檔案,檔案一旦被開啟就被截斷為0位元組大小。

參數3:

FileAccess.Read:唯讀寫入權限

FileAccess.ReadWrite:讀寫權限

FileAccess.Write:寫入權限

 二、StreamReader sr = new StreamReader(file_read,Encoding.Default);//擷取讀入流讀取1.txt

參數1:

file_read:擷取檔案流,即擷取指定檔案檔案流,通常用字串變數表示。

參數2:

Encoding.Default:擷取作業系統的當前ANSI字碼頁的編碼

Encoding.UTF8:擷取UTF8格式的編碼

Encoding.Unicode:擷取Unocode格式的編碼

Encoding.ASCII:擷取ASCLL格式的編碼

Encoding.Convert (Encoding, Encoding, Byte[]) :將一種編碼方式轉換成另一種編碼方式。

Encoding.Convert (Encoding, Encoding, Byte[], Int32, Int32) :將某一範圍內由一種編碼方式轉換成另一種編碼方式。

 三、string[] filelist = File.ReadAllLines("1.txt", Encoding.Default);//讀取檔案內容所有行儲存到字串數組中。

四、string line = sr.ReadLine();//讀取一行檔案內容,從讀入流擷取內容。

 例子一:

核心方法:string[] filelist = File.ReadAllLines("1.txt", Encoding.Default);//讀取檔案內容所有行儲存到字串數組中

代碼如下:

using System;using System.Collections.Generic;using System.Text;using System.IO;namespace studyread{    class Program    {        static void Main(string[] args)        {            FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//建立檔案流,唯讀許可權開啟1.txt檔案            string[] filelist = File.ReadAllLines("1.txt", Encoding.Default);//讀取檔案內容所有行儲存到字串數組中。            //迴圈列印讀入內容。            for (int i = 0; i <= filelist.Length - 1; i++)            {                Console.WriteLine("第{0}行內容為:{1}", i, filelist[i]);            }            Console.ReadKey();        }            }}

運行:

 例子二:

 核心語句:string line = sr.ReadLine();//讀取一行檔案內容,從讀入流擷取內容。

代碼如下:

using System;using System.Collections.Generic;using System.Text;using System.IO;namespace studyread{    class Program    {        static void Main(string[] args)        {            FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//建立檔案流,唯讀許可權開啟1.txt檔案            StreamReader sr = new StreamReader(file_read, Encoding.Default);//建立讀入流取檔案流                        string line= sr.ReadLine();;//讀取一行記憶體儲存給字串line            Console.WriteLine(line);            Console.ReadKey();        }    }}

 運行:

 當然上列代碼利用迴圈也可以將所有內容讀取出來,達到例子一的效果。

修改源碼如下:

using System;using System.Collections.Generic;using System.Text;using System.IO;namespace studyread{    class Program    {        static void Main(string[] args)        {            FileStream file_read = new FileStream("1.txt", FileMode.Open, FileAccess.Read);//建立檔案流,唯讀許可權開啟1.txt檔案            StreamReader sr = new StreamReader(file_read, Encoding.Default);//建立讀入流取檔案流             string[] filelist = File.ReadAllLines("1.txt", Encoding.ASCII);//這裡主要用來擷取總行數filelist.Length            string line;//定義字串變數line,用來儲存讀取的內容            //迴圈讀取並列印檔案每一行內容,即            for (int i = 0; i <= filelist.Length - 1; i++)            {                line = sr.ReadLine();//讀取一行內容儲存到字串line中。                Console.WriteLine(line);            }            Console.ReadKey();        }    }}

 程式:

附錄記事本檔案內容:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.