如何从byte []文件中读取所有文本?

时间:2022-07-22 13:32:52

I have a text file in the form of a byte[].

我有一个byte []形式的文本文件。

I cannot save the file anywhere.

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

I would like to read all lines/text from this 'file'.

我想阅读这个'文件'中的所有行/文本。

Can anyone point me in the right direction on how I can read all the text from a byte[] in C#?

任何人都能指出我如何从C#中的byte []读取所有文本的正确方向?

Thanks!

谢谢!

2 个解决方案

#1


21  

I would create a MemoryStream and instantiate a StreamReader with that, i.e:

我将创建一个MemoryStream并使用它实例化StreamReader,即:

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

Then get the text a line at a time with:

然后使用以下内容一次获取文本:

stream.readLine();

Or the full file using:

或者使用完整文件:

stream.readToEnd();

#2


1  

Another possible solution using Encoding:

使用编码的另一种可能解决方案

Encoding.Default.GetString(byteArray);

It can optionally be split to get the lines:

它可以选择拆分以获取行:

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

You can also select a particular encoding like UTF-8 instead of using Default.

您还可以选择特定编码,如UTF-8,而不是使用默认编码。

#1


21  

I would create a MemoryStream and instantiate a StreamReader with that, i.e:

我将创建一个MemoryStream并使用它实例化StreamReader,即:

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

Then get the text a line at a time with:

然后使用以下内容一次获取文本:

stream.readLine();

Or the full file using:

或者使用完整文件:

stream.readToEnd();

#2


1  

Another possible solution using Encoding:

使用编码的另一种可能解决方案

Encoding.Default.GetString(byteArray);

It can optionally be split to get the lines:

它可以选择拆分以获取行:

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

You can also select a particular encoding like UTF-8 instead of using Default.

您还可以选择特定编码,如UTF-8,而不是使用默认编码。