C#中怎么用byte传文件,然后又怎么用byte转换成文件
我用tcp来建立连接,用byte来传远程的文件,但是我不会把文件转行成byte,然后在另一端把用byte转过来的文件转换为文件...
我用tcp来建立连接,用byte来传远程的文件,但是我不会把文件转行成byte,然后在另一端把用byte转过来的文件转换为文件
展开
1个回答
展开全部
首先,你得把要传的文件读取到流里面
FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);//FilePath是文件路径
然后你可以写个方法将流转化为byte数组:
public byte[] streamToByte(Stream stream)
{
MemoryStream ms = new MemoryStream();
int b;
while ((b = stream.ReadByte()) != -1)
{
ms.WriteByte((byte)b);
}
return ms.ToArray();
}
这样stream就转化为byte[]了
逆过程就是byte数组转化为文件。
FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);//FilePath是文件路径
然后你可以写个方法将流转化为byte数组:
public byte[] streamToByte(Stream stream)
{
MemoryStream ms = new MemoryStream();
int b;
while ((b = stream.ReadByte()) != -1)
{
ms.WriteByte((byte)b);
}
return ms.ToArray();
}
这样stream就转化为byte[]了
逆过程就是byte数组转化为文件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询