程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#讀寫文件總結

C#讀寫文件總結

編輯:C#入門知識

1、使用FileStream讀寫文件

文件頭:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

讀文件核心代碼:

byte[] byData = new byte[100];
char[] charData = new char[1000];

try
{
FileStream sFile = new FileStream("文件路徑",FileMode.Open);
sFile.Seek(55, SeekOrigin.Begin);
sFile.Read(byData, 0, 100); //第一個參數是被傳進來的字節數組,用以接受FileStream對象中的數據,第2個參數是字節數組中開始寫入數據的位置,它通常是0,表示從數組的開端文件中向數組寫數據,最後一個參數規定從文件讀多少字符.
}
catch (IOException e)
{
Console.WriteLine("An IO exception has been thrown!");
Console.WriteLine(e.ToString());
Console.ReadLine();
return;
}
Decoder d = Encoding.UTF8.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);
Console.WriteLine(charData);
Console.ReadLine();

寫文件核心代碼:

FileStream fs = new FileStream(文件路徑,FileMode.Create);
//獲得字節數組

byte [] data =new UTF8Encoding().GetBytes(String);
//開始寫入
fs.Write(data,0,data.Length);

//清空緩沖區、關閉流
fs.Flush();
fs.Close();

2、使用StreamReader和StreamWriter

文件頭:

 

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

StreamReader讀取文件:

StreamReader objReader = new StreamReader(文件路徑);
      string sLine="";
      ArrayList LineList = new ArrayList();   
      while (sLine != null)
      {
        sLine = objReader.ReadLine();
        if (sLine != null&&!sLine.Equals(""))
          LineList.Add(sLine);
      }
            objReader.Close();
            return LineList;

StreamWriter寫文件:

  FileStream fs = new FileStream(文件路徑, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//開始寫入
sw.Write(String);
//清空緩沖區
sw.Flush();
//關閉流
sw.Close();
fs.Close();
===================================================================================

方式一:用FileStream

//實例化一個保存文件對話框
            SaveFileDialog sf = new SaveFileDialog();
            //設置文件保存類型
            sf.Filter = "txt文件|*.txt|所有文件|*.*";
            //如果用戶沒有輸入擴展名,自動追加後綴
            sf.AddExtension = true;
            //設置標題
            sf.Title = "寫文件";
            //如果用戶點擊了保存按鈕
            if(sf.ShowDialog()==DialogResult.OK)
            {
                //實例化一個文件流--->與寫入文件相關聯
                FileStream fs = new FileStream(sf.FileName,FileMode.Create);
                //獲得字節數組
byte [] data =new UTF8Encoding().GetBytes(this.textBox1.Text);
                //開始寫入
                fs.Write(data,0,data.Length);
                //清空緩沖區、關閉流
                fs.Flush();
                fs.Close();

            }

方式二:用StreamWriter

//實例化一個保存文件對話框
            SaveFileDialog sf = new SaveFileDialog();
            //設置文件保存類型
            sf.Filter = "txt文件|*.txt|所有文件|*.*";
            //如果用戶沒有輸入擴展名,自動追加後綴
            sf.AddExtension = true;
            //設置標題
            sf.Title = "寫文件";
            //如果用戶點擊了保存按鈕
            if (sf.ShowDialog() == DialogResult.OK)
            {
                //實例化一個文件流--->與寫入文件相關聯
                FileStream fs = new FileStream(sf.FileName, FileMode.Create);
                //實例化一個StreamWriter-->與fs相關聯
                StreamWriter sw = new StreamWriter(fs);
                //開始寫入
                sw.Write(this.textBox1.Text);
                //清空緩沖區
                sw.Flush();
                //關閉流
                sw.Close();
                fs.Close();
            }

string FileName = Guid.NewGuid().ToString() + ".txt"; //GUID生成唯一文件名
        StringBuilder ckpw = new StringBuilder(""憑證輸出", "V800", "001", "

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved