欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文搞懂C#實(shí)現(xiàn)讀寫文本文件中的數(shù)據(jù)

 更新時(shí)間:2021年06月19日 11:41:13   作者:朱小哥  
這篇文章重點(diǎn)給大家介紹C#實(shí)現(xiàn)讀寫文本文件中的數(shù)據(jù)的一些知識(shí),讀取.txt文件數(shù)據(jù)的實(shí)例代碼及寫入讀取過(guò)程完整代碼,感興趣的朋友跟隨小編一起看看吧

【1】首先我們定義一段假數(shù)據(jù),這里以一個(gè)string為例字

  static void Main(string[] args)
{
string data = "我的數(shù)據(jù)要開始存入文件了,我好開心??!覆蓋了嗎?好像覆蓋了,真的覆蓋了"; 
}

【2】接著我們將這個(gè)數(shù)據(jù)寫入.txt文件
代碼如下:

/// <summary>
        /// 保存數(shù)據(jù)data到文件的處理過(guò)程;
        /// </summary>
        /// <param name="data"></param>


        public static String SavaProcess(string data) {
            System.DateTime currentTime = System.DateTime.Now;
            //獲取當(dāng)前日期的前一天轉(zhuǎn)換成ToFileTime
            string strYMD = currentTime.AddDays(-1).ToString("yyyyMMdd");
            //按照日期建立一個(gè)文件名
            string FileName = "MyFileSend" + strYMD + ".txt";
            //設(shè)置目錄
            string CurDir = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir";
            //判斷路徑是否存在
            if(!System.IO.Directory.Exists(CurDir)){
                System.IO.Directory.CreateDirectory(CurDir);
            }
            //不存在就創(chuàng)建
            String FilePath = CurDir + FileName;
            //文件覆蓋方式添加內(nèi)容
            System.IO.StreamWriter file = new System.IO.StreamWriter(FilePath,false);
            //保存數(shù)據(jù)到文件
            file.Write(data);
            //關(guān)閉文件
            file.Close();
            //釋放對(duì)象
            file.Dispose();
            return FilePath;
        }

結(jié)果是返回一個(gè)文件路徑,根據(jù)具體場(chǎng)合可返回,也可不返回;我們來(lái)測(cè)試一下文件是否生成成功,我們?cè)贛ain函數(shù)中調(diào)用這個(gè)方法,代碼如下:

static void Main(string[] args)
        {
            string data = "我的數(shù)據(jù)要開始存入文件了,我好開心??!覆蓋了嗎?好像覆蓋了,真的覆蓋了";
            String filePath = SavaProcess(data);  

     Console.WriteLine(filePath);      
        }

運(yùn)行結(jié)果如下:

很顯然,在相關(guān)目錄下,生成了想對(duì)應(yīng)的文件;我們?cè)诳纯碿md中打印出了如下路徑:

  D:\VSProject\SavaProcessToFile\SavaProcessToFile\bin\Debug\SaveDirMyFileSend20170628.txt

生成的這個(gè)路徑對(duì)我們接下來(lái)的工作很重要,讀取文本數(shù)據(jù)的時(shí)候需要用到;

【3】讀取.txt文件數(shù)據(jù)

我們?cè)俣x一個(gè)讀取數(shù)據(jù)的方法:

  /// <summary>
        /// 獲取文件中的數(shù)據(jù)
        /// </summary>
        /// <param name="args"></param>


        public static string fileToString( String filePath ){
            string strData = "";
            try
            {
                string line;
                // 創(chuàng)建一個(gè) StreamReader 的實(shí)例來(lái)讀取文件 ,using 語(yǔ)句也能關(guān)閉 StreamReader
                using (System.IO.StreamReader sr = new System.IO.StreamReader(filePath))
                {                  
                    // 從文件讀取并顯示行,直到文件的末尾
                    while ((line = sr.ReadLine()) != null)
                    {
                        //Console.WriteLine(line);
                        strData = line;
                    }                    
                }              
            }
            catch (Exception e)
            {
                // 向用戶顯示出錯(cuò)消息
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(e.Message);
            }
            return strData;
        }

看見(jiàn)沒(méi)?我們這邊傳入的參數(shù)就是生成文件的那個(gè)路徑,注意,參數(shù)的類型是String表示文本的,而不是string表示字符串的,因?yàn)槲以偕陕窂降臅r(shí)候就是用的String,所以這里對(duì)應(yīng)起來(lái);

接下來(lái),我們來(lái)測(cè)試一下,看我們有沒(méi)有讀取文件成功,看cmd中是否會(huì)出現(xiàn)我們最初寫入的那個(gè)字符串?我們?cè)贛ain函數(shù)中調(diào)用方法,代碼如下:

static void Main(string[] args)
        {
            string data = "我的數(shù)據(jù)要開始存入文件了,我好開心??!覆蓋了嗎?好像覆蓋了,真的覆蓋了";
            String filePath = SavaProcess(data);
            string strData = fileToString(filePath);
            Console.WriteLine(strData);         
        }

運(yùn)行結(jié)果如下:

結(jié)果出現(xiàn)了最開始存的那個(gè)字符串;

【4】寫入和讀取過(guò)程完整代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SavaProcessToFile
{
class Program
{
/// <summary>
/// 保存數(shù)據(jù)data到文件的處理過(guò)程;
/// </summary>
/// <param name="data"></param>
public static String SavaProcess(string data) {
System.DateTime currentTime = System.DateTime.Now;
//獲取當(dāng)前日期的前一天轉(zhuǎn)換成ToFileTime
string strYMD = currentTime.AddDays(-1).ToString("yyyyMMdd");
//按照日期建立一個(gè)文件名
string FileName = "MyFileSend" + strYMD + ".txt";
//設(shè)置目錄
string CurDir = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir";
//判斷路徑是否存在
if(!System.IO.Directory.Exists(CurDir)){
System.IO.Directory.CreateDirectory(CurDir);
}
//不存在就創(chuàng)建
String FilePath = CurDir + FileName;
//文件覆蓋方式添加內(nèi)容
System.IO.StreamWriter file = new System.IO.StreamWriter(FilePath,false);
//保存數(shù)據(jù)到文件
file.Write(data);
//關(guān)閉文件
file.Close();
//釋放對(duì)象
file.Dispose();

return FilePath;
}

/// <summary>
/// 獲取文件中的數(shù)據(jù)
/// </summary>
/// <param name="args"></param>
public static string fileToString(String filePath){
string strData = "";
try
{
string line;
// 創(chuàng)建一個(gè) StreamReader 的實(shí)例來(lái)讀取文件 ,using 語(yǔ)句也能關(guān)閉 StreamReader
using (System.IO.StreamReader sr = new System.IO.StreamReader(filePath))
{ 
// 從文件讀取并顯示行,直到文件的末尾 
while ((line = sr.ReadLine()) != null)
{
//Console.WriteLine(line);
strData = line;
} 
} 
}
catch (Exception e)
{
// 向用戶顯示出錯(cuò)消息
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
return strData;
}

static void Main(string[] args)
{
string data = "我的數(shù)據(jù)要開始存入文件了,我好開心??!覆蓋了嗎?好像覆蓋了,真的覆蓋了";
String filePath = SavaProcess(data);
string strData = fileToString(filePath);
Console.WriteLine(strData); 
}
}
}

以上就是C#實(shí)現(xiàn)讀寫文本文件中的數(shù)據(jù)的詳細(xì)內(nèi)容,更多關(guān)于C#讀寫文本文件數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 重寫、隱藏基類(new, override)的方法

    重寫、隱藏基類(new, override)的方法

    重寫、隱藏基類(new, override)的方法,需要的朋友可以參考一下
    2013-03-03
  • c#使用xamarin編寫撥打電話程序

    c#使用xamarin編寫撥打電話程序

    Xamarin是一個(gè)行動(dòng)App開發(fā)平臺(tái),提供跨平臺(tái)開發(fā)能力,開發(fā)人員透過(guò)Xamarin開發(fā)工具與程序語(yǔ)言,即可開發(fā)出iOS、Android 與Windows 等平臺(tái)的原生(Native) App 應(yīng)用程序,不須個(gè)別使用各平臺(tái)的開發(fā)工具與程序語(yǔ)言,
    2015-05-05
  • WPF實(shí)現(xiàn)Badge標(biāo)識(shí)的示例代碼

    WPF實(shí)現(xiàn)Badge標(biāo)識(shí)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了WPF如何實(shí)現(xiàn)Badge標(biāo)識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-06-06
  • C#實(shí)現(xiàn)流程圖設(shè)計(jì)器

    C#實(shí)現(xiàn)流程圖設(shè)計(jì)器

    這篇文章主要介紹了C#實(shí)現(xiàn)流程圖設(shè)計(jì)器,感興趣的小伙伴們可以參考一下
    2015-11-11
  • c#給圖片添加文字的代碼小結(jié)

    c#給圖片添加文字的代碼小結(jié)

    c#編程中,我們需要為圖片添加文字水印,那么就可以參考下面的幾個(gè)代碼
    2012-11-11
  • C#?WPF調(diào)用QT窗口的方法

    C#?WPF調(diào)用QT窗口的方法

    本文主要介紹了C#?WPF調(diào)用QT窗口的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • C#加密app.config中連接字符串的方法

    C#加密app.config中連接字符串的方法

    這篇文章主要介紹了C#加密app.config中連接字符串的方法,涉及C#配置文件加密的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C#實(shí)現(xiàn)簡(jiǎn)單工廠模式

    C#實(shí)現(xiàn)簡(jiǎn)單工廠模式

    這篇文章介紹了C#實(shí)現(xiàn)簡(jiǎn)單工廠模式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • C#給圖片加水印的簡(jiǎn)單實(shí)現(xiàn)方法

    C#給圖片加水印的簡(jiǎn)單實(shí)現(xiàn)方法

    這篇文章主要介紹了C#給圖片加水印的簡(jiǎn)單實(shí)現(xiàn)方法,涉及C#操作圖片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • C#實(shí)現(xiàn)圖像反色的方法

    C#實(shí)現(xiàn)圖像反色的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)圖像反色的方法,涉及C#操作圖像顏色轉(zhuǎn)換的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評(píng)論