簡體   English   中英

在C#中從內存讀取數據

[英]Reading data from memory in C#

我正在做一些需要從文件讀取數據的事情。 正如您在下面看到的那樣,我將使用一個for循環瀏覽文件列表,搜索該特定的十六進制字符,並用和替換空格。 稍后,我用行覆蓋原始文件,因為現在行沒有十六進制字符,但是不允許覆蓋原始字符。 我也不允許將行另存為源目錄中的新文件(原始文件所在的目錄)。

var fileList = Directory.GetFiles(SourceDirectory, "*.*", SearchOption.TopDirectoryOnly)

foreach (var file in fileList)
{
    var lines = File.ReadAllLines(file);

    for(var i = 0; i < lines.Length; i++)
    {
        if (lines[i].Contains("\u001A"))
        {
            lines[i] = lines[i].Replace("\u001A", " ");
        }
    }

    System.IO.File.WriteAllLines(file, lines);
    var grkFile = new GenericRkFile<FileTypes.FinancialAdvisor, FileTypes.Plan, FileTypes.PlanFund, FileTypes.Header, FileTypes.Trailer>();
    grkFile.LoadData(file);
}

由於grkFile.LoadData()是文件,因此我無法將行作為值傳遞。 我的問題是,我能以某種方式將行作為文件保存在內存中或類似的東西,並使用它傳遞到grkFile.LoadData()嗎?

因為您依賴於無法更改的API ,所以可以選擇在臨時位置創建臨時文件,然后用正確的數據填充該文件,然后加載並刪除它。 .NET提供了一些幫助程序方法,可以使您的生活更加輕松。 它們位於System.IO namespace 這對於在臨時用戶文件夾中創建臨時文件非常有用:

Path.GetTempFileName() 

有關更多信息,請參見Sytem.IO.Path

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM