1. 程式人生 > >C#儲存資料到檔案,讀取檔案資料

C#儲存資料到檔案,讀取檔案資料

#region 檔案讀取與儲存

/// <summary>
/// 獲取檔案中的資料串
/// </summary>
public static string fileToString(String filePath)
{
    string str = "";

    //獲取檔案內容
    if (System.IO.File.Exists(filePath))
    {
        System.IO.StreamReader file1 = new System.IO.StreamReader(filePath);//讀取檔案中的資料
        str = file1.ReadToEnd();                                            //讀取檔案中的全部資料

        file1.Close();
        file1.Dispose();
    }
    return str;
}

/// <summary>
/// 儲存資料data到檔案處理過程,返回值為儲存的檔名
/// </summary>
public static String SaveProcess(String data, String name)
{
    string CurDir = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir\";    //設定當前目錄
    if (!System.IO.Directory.Exists(CurDir)) System.IO.Directory.CreateDirectory(CurDir);   //該路徑不存在時,在當前檔案目錄下建立資料夾"匯出.."

    //不存在該檔案時先建立
    String filePath = CurDir + name + ".txt";
    System.IO.StreamWriter file1 = new System.IO.StreamWriter(filePath, false);     //檔案已覆蓋方式新增內容

    file1.Write(data);                                                              //儲存資料到檔案

    file1.Close();                                                                  //關閉檔案
    file1.Dispose();                                                                //釋放物件

    return filePath;
}

#endregion


儲存資料到檔案:

        /// <summary>
        /// 儲存資料data到檔案,返回值為儲存的檔名
        /// </summary>
        public string SaveToFile(String data, String name, bool mute)
        {
            String filePath = "";

            //若未命名,則使用系統時間自動命名
            if (name == null || name.Trim().Equals("(重新命名)") || name.Trim().Equals(""))
            {
                name = DateTime.Now.ToLongTimeString().Replace(":", ".");   //使用系統時間自動為檔案命名
                filePath = SaveToFile(data, name, false);                   //儲存資料到檔案
                return filePath;                                            //返回儲存的檔名
            }

            try
            {
                filePath = SaveProcess(data, name);                         //儲存資料並記錄檔案完整路徑

                if (!mute) MessageBox.Show("成功匯出資料到:“" + filePath + "”!");
                return filePath;
            }
            catch (Exception)
            {
                MessageBox.Show("儲存資料失敗");
                return "";
            }
        }

        /// <summary>
        /// 儲存資料data到原檔案filePathName中
        /// </summary>
        public String SaveToNativeFile(String data, String filePathName, bool mute)
        {
            try
            {
                System.IO.StreamWriter file1 = new System.IO.StreamWriter(filePathName, false); //檔案已覆蓋方式新增內容
                file1.Write(data);                                                              //儲存資料到檔案

                file1.Close();                                                                  //關閉檔案
                file1.Dispose();                                                                //釋放物件

                if (!mute) MessageBox.Show("成功匯出資料到:“" + filePathName + "”!");
                return filePathName;
            }
            catch (Exception)
            {
                return SaveToFile(data, "", mute);          //若儲存到原檔案失敗,則建立新檔案進行儲存
            }
        }