从mongodb中间读取文件

pj199 2014-10-13 04:27:34
在mongodb中存了个文件111.txt内容是“这个是111的更新日志,然后想读出来这个文件的内容官方文档里有func (*GridFile) Read
func (file *GridFile) Read(b []byte) (n int, err error) 而且有事例
ile, err := db.GridFS("fs").Open("myfile.txt")
check(err)
b := make([]byte, 8192)
n, err := file.Read(b)
check(err)
fmt.Println(string(b))
check(err)
err = file.Close()
check(err)
fmt.Printf("%d bytes read\n", n)
于是我改了下,但是这个b := make([]byte, 10, 50)不能动态的存储文件的内容,我想就是大小随文件的内容自动改变,”
func handle(w http.ResponseWriter, r *http.Request) {
session, err := mgo.Dial("127.0.0.1")
if err != nil {
fmt.Printf("链接数据库错误\n")
}
defer session.Close()
db := session.DB("filedb")
file, _ := db.GridFS("fs").Open("111.txt")
b := make([]byte, 10, 50)
n, _ := file.Read(b)
fmt.Println(cap(b))
io.WriteString(w, string(b))
_ = file.Close()
fmt.Printf("%d bytes read\n", n)

}
这个cap(b)显示是50但是实际大小还是用的是10,文本内容显示不全,希望大神给看看
...全文
180 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pj199 2014-10-13
  • 打赏
  • 举报
回复
可动态增减元素是数组切片比数组更为强大的功能。与数组相比,数组切片多了一个存储能 力(capacity)的概念,即元素个数和分配的空间可以是两个不同的值。合理地设置存储能力的 值,可以大幅降低数组切片内部重新分配内存和搬送内存块的频率,从而大大提高程序性能。

2,190

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • Freeman Z
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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