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,而不是使用默认编码。