c# vs2003 我有个byte[]数组,如何存入文件?

c# vs2003 我有个byte[]数组,如何存入文件?,第1张

1、读取文件,并转换为字节流:

FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read)

byte[] infbytes = new byte[(int)fs.Length]

fs.Read(infbytes, 0, infbytes.Length)

fs.Close()

return infbytes

2、将字节流写入文件

FileStream fs = new FileStream("D:\\inf.dlv", FileMode.Create, FileAccess.Write)

fs.Write(inf, 0, inf.Length)

fs.Close()

public static void AppendBytesToFile(this Byte[] fileBytes, string fileName)

{

FileStream fileStream = new FileStream(fileName, FileMode.Append, FileAccess.ReadWrite)

fileStream.Write(fileBytes, 0, fileBytes.Length)

fileStream.Close()

}

ByteArrayOutputStream是将内存中的byte数据作为输出目标,

写入到文件则需要打开文件流,

内存中的对象要持久化有两种方式,一种是直接使用对象的序列化接口,该对象必须实现Serializable接口;另外一种自己写对象序列化接口。

1、ByteArrayOutputStream要写到文件可以通过writeTo方法,但是这样显然太啰嗦了,需要控制flush时机。

2、如果是对象已经实现序列化接口直接使用如下方式

ObjectOutputStream o = new ObjectOutputStream(new FileOutputStream("filename"))

o.writeObject(obj)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11472977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存