C#實現文件與目錄操作(文本文件讀取與寫入方法,文件的刪除、移動和複製、文件目錄操作)詳解

                                          文件與目錄操作

主要包括對文本文件讀取與寫入方法,文件的刪除、移動和複製、文件目錄操作。


首先展示一下最終的界面如下所示:

首先建立Windows窗體應用程序,在Form1.cs【設計】中進行界面設計如上圖展示 所示:

接下來就是關於如何進行文本文件讀寫、文件操作、文件目錄操作三個方面展開程序講解;

  • 一、將窗口TextBox中的文字保留到指定文件中的方法如下:
///對文件的操作是基於數據流進行的,所以需要引入此命名空間
using System.IO;  
 ///將文本 寫入文本文件
        private void button1_Click(object sender, EventArgs e)
        {
            //[1]創建文件流(文件打開方式,如果不存在就創建)
            FileStream fs = new FileStream("D:\\Fromfile\\myfile.txt", FileMode.Create);

            //[2]創建寫入器
            StreamWriter sw = new StreamWriter(fs);

            //[3]以流的方式寫入數據
            sw.Write(this.textContent.Text.Trim());

            //[4]關閉寫入器
            sw.Close();

            //[5]關閉文件流
            fs.Close();
        }

通過以上5個步驟實現寫入文本文件。

  • 二、從指定文本文件中讀取文本到textBox控件方法類似:
 ///從文本文件中讀取 文本
        private void button2_Click(object sender, EventArgs e)
        {
            //[1]創建文件流(文件模式,打開一個文件 )
            FileStream fs = new FileStream("D:\\Fromfile\\myfile.txt", FileMode.Open);

            //[2]創建讀取器
            StreamReader sr = new StreamReader(fs);

            //[3]以流的方式讀取數據 (讀取全部數據)
            this.textContent.Text = sr.ReadToEnd();

            //[4]關閉讀取器
            sr.Close();

            //[5]關閉文件流
            fs.Close();
        }
  • 三、模擬寫入系統日誌
 private void button3_Click(object sender, EventArgs e)
        {
            //[1]創建文件流(文件模式:追加)
            FileStream fs = new FileStream("D:\\Fromfile\\myfile.txt", FileMode.Append);

            //[2]創建寫入器
            StreamWriter sw = new StreamWriter(fs);

            //[3]以流的方式“逐行”寫入數據 
            sw.WriteLine(DateTime.Now.ToString()+ "文件操作正常!" );

            //[4]關閉寫入器
            sw.Close();

            //[5]關閉文件流
            fs.Close();
        }
  • 四、刪除文件、   複製文件、移動文件
        ///刪除文件
        private void button4_Click(object sender, EventArgs e)
        {
            File.Delete(this.txtFrom.Text.Trim());
        }
        ///複製文件
        private void button5_Click(object sender, EventArgs e)
        {
            if (File.Exists(this.txtTo.Text.Trim())) //判斷文件是否存在(如果文件存在,直接複製會出現錯誤)
            {
                File.Delete(this.txtTo.Text.Trim());  //刪除文件
            }
            File.Copy(this.txtFrom.Text.Trim(), this.txtTo.Text.Trim()); //複製文件
        }
        ///移動文件
        private void button6_Click(object sender, EventArgs e)
        {

        }

   C#移動文件夾中的所有文件夾與文件到另一個文件夾參考:https://blog.csdn.net/szsbell/article/details/51800424

  • 五、顯示指定目錄下所有文件、顯示指定目錄下所有子目錄、在指定目錄下創建一個目錄、刪除指定目錄下的所有目錄和文件
            ///顯示指定目錄下所有文件
            private void button7_Click(object sender, EventArgs e)
            {
                string[] files = Directory.GetFiles("D:\\Fromfile");
                this.textContent.Clear();
                foreach (string  item in files)
                {
                    this.textContent.Text += item + "\r\n";
                }
            }
    
            ///顯示指定目錄下所有子目錄
            private void button8_Click(object sender, EventArgs e)
            {
                string[] dirs = Directory.GetDirectories("D:\\Fromfile");
                this.textContent.Clear();
                foreach (string item in dirs)
                {
                    this.textContent.Text += item + "\r\n";
                }
            }
    
            ///在指定目錄下創建一個目錄
            private void button9_Click(object sender, EventArgs e)
            {
                Directory.CreateDirectory("D:\\Fromfile\\newfiles");
            }
    
            ///刪除指定目錄下的所有目錄和文件
            private void button10_Click(object sender, EventArgs e)
            {
                ///Directory.Delete("D:\\Fromfile");//要求目錄必須爲空
                ///使用DirectoryInfo對象,可以刪除不爲空的目錄
                DirectoryInfo dir = new DirectoryInfo("D:\\Fromfile");
                dir.Delete(true);
            }

    關於目錄的操作可以仔細查閱Directory類與DirectoryInfo 類中的方法。

  • 工程源碼下載:https://download.csdn.net/download/cqfdcw/10827590

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章