filestream一个小疑问

fdjkalfjklajdf 2012-11-01 10:24:50

FileStream fs = new FileStream("", FileMode.Open);
获取文件后,FileStream 这个个流中的数据是以什么形式存在的啊
...全文
195 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fdjkalfjklajdf 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 2 楼 的回复:

引用 1 楼 的回复:

字节序列,因为它可以随机定位且可读可写,所以个人猜想大致是以扇区或簌为单位读写的,比较底层,应该是调用windows底层api实现的。


C# code
FileStream fs = new FileStream("", FileMode.Open, FileAccess.Read);
byte[] buffer = ……
[/Quote]
那FileStream在这过程中是做什么的呢,那保存数据吗?
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:

字节序列,因为它可以随机定位且可读可写,所以个人猜想大致是以扇区或簌为单位读写的,比较底层,应该是调用windows底层api实现的。


C# code
FileStream fs = new FileStream("", FileMode.Open, FileAccess.Read);
byte[] buffer = new byt……
[/Quote]
这个过程就是你说的那样,把文件从硬盘读到内存中(byte[] buffer ),然后将数据保存到数据库
Kation 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

就是内存流,二进制
[/Quote]
不是吧?你不Read它会在内存中?
bdmh 2012-11-02
  • 打赏
  • 举报
回复
就是内存流,二进制
Kation 2012-11-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:

字节序列,因为它可以随机定位且可读可写,所以个人猜想大致是以扇区或簌为单位读写的,比较底层,应该是调用windows底层api实现的。


C# code
FileStream fs = new FileStream("", FileMode.Open, FileAccess.Read);
byte[] buffer = new byt……
[/Quote]
直接对硬盘进行读写,中间没有内存缓冲
XBodhi. 2012-11-02
  • 打赏
  • 举报
回复
Byte[] 二进制数据存在。
cjlu98 2012-11-02
  • 打赏
  • 举报
回复
排队,不是保存数据,是缓冲
fdjkalfjklajdf 2012-11-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

字节序列,因为它可以随机定位且可读可写,所以个人猜想大致是以扇区或簌为单位读写的,比较底层,应该是调用windows底层api实现的。
[/Quote]

  FileStream fs = new FileStream("", FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
//这里Sql语句将buffer插入数据库中的image字段
fs.Close();

这里的过程是先将本地文件上传到FileStream中,再将FileStream存入buffer中?
还是FileStream只是一个管道桥梁作用,通过FileStream将本地文件导入buffer中,在将buffer插入数据库?
dalmeeme 2012-11-01
  • 打赏
  • 举报
回复
字节序列,因为它可以随机定位且可读可写,所以个人猜想大致是以扇区或簌为单位读写的,比较底层,应该是调用windows底层api实现的。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧