摘要:(2010-08-06) C#.NET System.IO
範列1.讀取圖檔後存檔
程式碼
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace winmod05 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //呈現對話盒 if (this.openFileDialog1.ShowDialog() == DialogResult.OK) { //檔案名稱 //MessageBox.Show(this.openFileDialog1.FileName); //1.建立串流 System.IO.Stream fs1 = new System.IO.FileStream(this.openFileDialog1.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); //準備緩衝區 Byte陣列 Byte[] buff = new Byte[fs1.Length]; //開始讀取 讀到緩衝區去 fs1.Read(buff, 0, (Int32)fs1.Length); //建立Gap(記憶體串流) System.IO.MemoryStream ms = new System.IO.MemoryStream(); ms.Write(buff, 0, (Int32)fs1.Length); //建構Image物件 System.Drawing.Image img = new System.Drawing.Bitmap(ms); //設定PictureBox this.pictureBox1.Image = img; //寫出圖片到另一個地方 //建立串流 String newFile=System.IO.Path.GetFileNameWithoutExtension(this.openFileDialog1.FileName)+"_new.jpg"; //MessageBox.Show(newFile); System.IO.Stream fout = new System.IO.FileStream(@"c:\images\" + newFile, System.IO.FileMode.Create, System.IO.FileAccess.Write); //寫出去 fout.Write(buff, 0, (Int32)fs1.Length); //清緩衝區 fout.Flush(); fout.Close(); //關閉串流 fs1.Close(); } } } }
範列2.筆記本 讀檔與寫檔
程式碼
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace winmod05 { public partial class NotePad : Form { public NotePad() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //啟動對話盒 if (this.openFileDialog1.ShowDialog() == DialogResult.OK) { //處理 //1.建立串流 System.IO.Stream fs1 = new System.IO.FileStream(this.openFileDialog1.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); //2.接上讀取器 System.IO.TextReader reader = new System.IO.StreamReader(fs1, System.Text.Encoding.UTF8); String text = reader.ReadToEnd(); this.textBox1.Text = text; fs1.Close(); } } private void button2_Click(object sender, EventArgs e) { // if (this.saveFileDialog1.ShowDialog() == DialogResult.OK) { //儲存 //1.建立串流 System.IO.Stream fs1 = new System.IO.FileStream(this.saveFileDialog1.FileName, System.IO.FileMode.Create, System.IO.FileAccess.Write); //2.建立Writer System.IO.StreamWriter writer = new System.IO.StreamWriter(fs1, System.Text.Encoding.UTF8); writer.Write(this.textBox1.Text); writer.Flush(); writer.Close(); fs1.Close(); } } } }
補充: