C# 檔案流的常用方法

來源:互聯網
上載者:User

標籤:else   mod   body   ogr   odi   res   item   移動   end   

 

// 開啟檔案選擇圖片

private void btnChoseImage_Click(object sender, EventArgs e)
{
OpenFileDialog objFiledialog = new OpenFileDialog();
DialogResult result= objFiledialog.ShowDialog();
if (result==DialogResult.OK)
{
this.pbStu.Image = Image.FromFile(objFiledialog.FileName);
}
}

//寫入檔案
private void btnWriteAll_Click(object sender, EventArgs e)
{
//【1】建立檔案流
FileStream fs = new FileStream("C:\\myfile.txt", FileMode.Create);

//【2】建立寫入器
StreamWriter sw = new StreamWriter(fs,Encoding.Default);

//【3】以流的方式寫入資料
sw.Write(this.txtContent.Text.Trim());

//【4】關閉寫入器
sw.Close();

//【5】關閉檔案流
fs.Close();
}
//讀取檔案
private void btnReadAll_Click(object sender, EventArgs e)
{
//【1】建立檔案流
FileStream fs = new FileStream("C:\\myfile.txt", FileMode.Open);

//【2】建立讀取器
StreamReader sr = new StreamReader(fs, Encoding.Default);

//【3】以流的方式讀取資料
this.txtContent.Text = sr.ReadToEnd();

//【4】關閉讀取器
sr.Close();

//【5】關閉檔案流
fs.Close();
}
//類比寫入系統日誌
private void btnWriteLine_Click(object sender, EventArgs e)
{
//【1】建立檔案流(檔案模式為:追加)
FileStream fs = new FileStream("C:\\myfile.txt", FileMode.Append);

//【2】建立寫入器
StreamWriter sw = new StreamWriter(fs);

//【3】以流的方式“逐行”寫入資料
sw.WriteLine(DateTime.Now.ToString() + " 檔案操作正常!");

//【4】關閉寫入器
sw.Close();

//【5】關閉檔案流
fs.Close();
}
//刪除檔案
private void btnDel_Click(object sender, EventArgs e)
{
File.Delete(this.txtFrom.Text.Trim());
}
//複製檔案
private void btnCopy_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 btnRemove_Click(object sender, EventArgs e)
{
//首先判斷目標路徑檔案是否存在(如果檔案存在,直接複製會出現錯誤)
if (File.Exists(this.txtTo.Text.Trim()))
{
File.Delete(this.txtTo.Text.Trim());//刪除檔案
}
if (File.Exists(this.txtFrom.Text.Trim()))//如果當前檔案存在則移動
{
//移動檔案
File.Move(this.txtFrom.Text.Trim(), this.txtTo.Text.Trim());
}
else
{
MessageBox.Show("檔案不存在!");
}
}
//擷取目前的目錄下的檔案
private void btnShowAllFiles_Click(object sender, EventArgs e)
{
string[] files = Directory.GetFiles("C:\\Myfiles");
this.txtContent.Clear();
foreach (string item in files)
{
this.txtContent.Text += item + "\r\n";
}
}
//擷取指定目錄下的所有子目錄
private void btnShowSubDir_Click(object sender, EventArgs e)
{
string[] dirs = Directory.GetDirectories("C:\\Drivers");
this.txtContent.Clear();
foreach (string item in dirs)
{
this.txtContent.Text += item + "\r\n";
}
}

//建立目錄
private void btnCreate_Click(object sender, EventArgs e)
{
Directory.CreateDirectory("C:\\Myfiles\\newfiles");
}

//刪除指定目錄下的所有子目錄和檔案
private void btnDelAllFiles_Click(object sender, EventArgs e)
{
// Directory.Delete("C:\\Myfiles");//要求目錄必須為空白

//使用DirectoryInfo對象,可以刪除不為空白的目錄
DirectoryInfo dir = new DirectoryInfo("C:\\Myfiles");
dir.Delete(true);
}

 

C# 檔案流的常用方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.