1. 程式人生 > >c# 文件與流

c# 文件與流

stream click 刪除文件 存儲目錄 public col style 空間 存在

1、創建和刪除目錄

  在c#中涉及到輸入、輸出(i/o)相關操作的API都被放在System.IO命名空間下,或者子命令System.IO.IsolatedStoorage中。對目錄進行操作可以使用Directory類和DirectoryInfo類。Directory類,提供了一些便捷的方法可以幫助開發人員輕松的對目錄進行操作。DirectoryInfo類的功能和Directory類相似,公開了更多的成員以獲得目錄信息。

  使用兩個按鈕實現,文件目錄的創建和刪除

技術分享圖片

//引入輸入、輸出命名空間。
using System.IO;

namespace WindowsFormsApp1
{
    
public partial class Form1 : Form { //聲明兩個私有字段 DirectoryInfo dirInfo = null;//操作目錄的對象 string dirName = string.Empty;//用於存儲目錄名稱 public Form1() { InitializeComponent(); } //創建按鈕Click private void
button1_Click(object sender, EventArgs e) { //判斷輸入是否為空 if(string .IsNullOrWhiteSpace(textBox1.Text)) { //打印提示語句 MessageBox.Show("IN err"); return; } dirName = textBox1.Text.Trim();//從當前System.String 對象移除所有空白字符和尾部空白字符 保存在目錄名中
dirInfo = new DirectoryInfo(dirName);//實例dirInfo //判斷目錄是否存在 if(dirInfo.Exists)//如果目錄存在,則為 true;否則為 false。 { dirInfo.Delete();//如果存在刪除目錄 } //創建目錄 dirInfo.Create(); MessageBox.Show("目錄" + dirName + "創建成功"); } private void Form1_Load(object sender, EventArgs e) { } //刪除按鈕Click private void button2_Click(object sender, EventArgs e) { if(dirInfo!=null && !string.IsNullOrWhiteSpace(dirName)) { dirInfo.Delete(); dirInfo = null; } } } }

註意:如果希望在指定的目錄下創建目錄,可以指定絕對路徑。

2、創建文件和刪除文件

  與目錄操作相似,對於文件操作,同樣有兩個類可以選擇。File類和FileInfo類。

技術分享圖片

  

//引入文件命名空間
using System.IO;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string fileName = string.Empty;//用於存放新文件的名字
        private void Form1_Load(object sender, EventArgs e)
        {

        }
        //Create Click Button function
        private void Create_Click(object sender, EventArgs e)
        {
            //判斷文件名是否為空
            if(string.IsNullOrWhiteSpace(Name.Text))
            {
                MessageBox.Show("文件名為空");
                return;
            }
            fileName = Name.Text;
            //如果文件已存在,刪除
            if (File.Exists(fileName))//確定指定文件是否存在
            {
                File.Delete(fileName);
            }
            var fs = File.Create(fileName);//創建文件
            //向文件寫入3000字節
            Random rand = new Random();
            byte[] buf = new byte[3000];
            rand.NextBytes(buf);//使用隨機數填充指定字節數組元素
            fs.Write(buf, 0, buf.Length);//將字節快寫去文件流
            MessageBox.Show("創建"+fileName+"成功");
            fs.Dispose();//釋放資源,Syst.IO.Stream使用的資源
        }

        private void Delete_Click(object sender, EventArgs e)
        {
            if(File.Exists(fileName))
            {
                File.Delete(fileName);//刪除文件
            }
        }
    }
}

  

c# 文件與流