2012-09-12 25 views
7

我有一個字節[]形式的文本文件。如何讀取byte []文件中的所有文本?

我無法在任何地方保存文件。

我想讀這個'文件'中的所有行/文本。

任何人都可以在正確的方向指向我如何在C#中讀取byte []中的所有文本?

謝謝!

+1

你到目前爲止試過了什麼? – VIRA

+1

你試過了byte [] fileC = File.ReadAllBytes(dialog.FileName); –

+0

@Todd Moses我已經將該文件作爲字節[],現在我試圖從該字節[]中讀取文本。這是給我的,我沒有真正保存在磁盤上的文件,我不想將它保存到磁盤然後再讀取。 – Kyle

回答

19

我會創造一個MemoryStream和實例化一個StreamReader這一說法,即:

var stream = new StreamReader(new MemoryStream(byteArray)); 

然後獲取文本在與時間線:

stream.readLine(); 

或使用完整的文件:

stream.readToEnd(); 
+0

它的工作原理,謝謝! – Kyle

+1

沒問題,我不得不想出一個[超級重要](http://codegolf.stackexchange.com/questions/88/obfuscated-fizzbuzz-golf)原因。 –

0

另一個可能的解決方案使用Encoding

Encoding.Default.GetString(byteArray); 

它可以選擇性地被分割,以獲得線:

Encoding.Default.GetString(byteArray).Split('\n'); 

您也可以選擇像UTF-8,而不是使用Default特定編碼。

相關問題