Go语言文件操作

Python029

Go语言文件操作,第1张

本文主要介绍了Go语言中文件读写的相关操作。

文件是什么?

计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件。

os.Open() 函数能够打开一个文件,返回一个 *File 和一个 err 。对得到的文件实例调用 close() 方法能够关闭文件。

为了防止文件忘记关闭,我们通常使用defer注册文件关闭语句。

Read方法定义如下:

它接收一个字节切片,返回读取的字节数和可能的具体错误,读到文件末尾时会返回 0 和 io.EOF 。 举个例子:

使用for循环读取文件中的所有数据。

bufio是在file的基础上封装了一层API,支持更多的功能。

io/ioutil 包的 ReadFile 方法能够读取完整的文件,只需要将文件名作为参数传入。

os.OpenFile() 函数能够以指定模式打开文件,从而实现文件写入相关功能。

其中:

name :要打开的文件名 flag :打开文件的模式。 模式有以下几种:

perm :文件权限,一个八进制数。r(读)04,w(写)02,x(执行)01。

1.先把要导入的包go build - go install

2.接着在要导入的方法中以: 项目名 / 导入的文件名  的形式导入即可(如下方test(项目名) / chiid(文件名))

只能上传图片的:

http://imageshack.us/index3.php

http://www.imgportal.com/

支持其他文件类型的:

http://www.vdisk.cn/

基于互联网的虚拟磁盘服务(The Virtual driver service based on the Internet)。它基于现有的互联网环境,通过软件实现本地电脑上的虚拟磁盘硬件,用户完全可以忽略网络传输过程,视同本地磁盘一样进行文件的建立、复制、删除、和修改,完全支持系统的鼠标拖放,目录树结构操作,文件搜索等一系列操作。

http://www.51bak.net/index.shtml

无忧备份:

上传单个文件可达1G,上传文件保存20天,20天后系统将自行删除;可使用影音传送带或网际快车下载,支持断点续传。

http://www.mofile.com/

衡阳信息港搞的备份空间,128MB,28MB永久空间。

http://www.ys168.com/

上海永硕科技搞的永硕E盘,空间小,单个文件小,还限制流量。不推荐!

http://www.filesbak.com/

2004年7月成立的公司,稳定性还有待时间的检验。

我测试了5次,成功了0次。

http://www.mimima.com/

上传的速度一般,下载后文件被改名为*.torrent格式。

http://www.hfyw.com.cn/up/

这个是我家附近的一家印务公司的。

个人感觉一般,上传文件后的下载地址到

http://www.hfyw.com.cn/up/list.asp

里找。

http://www.savefile.com/filehosting/index.php

我不懂E文,只测试了上传*.jpg和*.rar文件,效果还行。

http://www.flashsave.com/

FlashSave无限硬盘。100G上传空间,上传单个文件大小无限制。可以选择共享给其他人,也可以下载其他人共享的文件。 FlashSave无限存是一个基于互联网平台的梦幻服务,它可以最快捷的远程存储和传输百兆以上的大文件。它拥有其他类型网络硬盘所没有的好友共享、文件群发、个人相册、个人网站、电影音乐在线视听等多种功能,还整合了强大的交友和P2P传输功能。需注册。

http://www.myfile.name/index.aspx

文件存放在你的邮箱里,永不过期,空间无限!把文件以附件的形式上传到你的邮箱,保存草稿,再转移到收件箱。然后登录网络E盘把附件添加到网络E盘管理,再共享文件,获取文件提取码;把文件提取码发给你的朋友来本站提取下载即可。 需注册。

http://www.1g.cn/index/

蜂盘 1G网络硬盘。免费100M,上传单个文件大小为20M。可以共享,需要下载客户端程序。需注册。

http://ud.35.com/default.htm

35网络U盘。特有的子用户管理,可以为您的家人朋友建立子用户账号,分享 U 盘内容;更可为子用户设置独立空间,共同使用。 需要下载客户端程序。需注册。

http://ibackup.grids.cn/index.html

北大ibackup。免费1G容量的稳定存储空间。IBackup系统主要特性是“容灾”、“增量”、“高速”和“安全”:

【容灾】它利用软件冗余的办法将您上传的文件做成碎片,存储在多台服务器上,当其中部分服务器不能使用时,IBackup仍可以使用可用的碎片重构您的数据!

【增量】它每次存储的数据将是您这次本地修改过的数据,而不是将所有本地文件都存储,这样将大量节省您的时间和空间!

【高速】系统底层利用分布式技术,同时使用多台服务器,比普通文件传输方式,如ftp,更快速。

【安全】它采用文件分片编码技术和通讯加密技术,使得您存储的数据不能被别人窃取和监听(包括系统管理员),这点和传统存储方式如ftp形成鲜明对比。

【大容量】为每个用户提供1G空间,让您随意存储。

【多版本管理】每个用户的备份目录都可以产生多个版本,方便您恢复对数据的错误修改。

需要下载客户端程序。需注册。注:如果要备份重要文件的话推荐用这个

http://www.k65.net

K65网络U盘。资料的保存期限为30天,超过30天将被自动删除。可共享需注册。

http://www.beihai-go.com/index.html

北海网上数据中心。北海网上数据中心个人空间主要面向个人用户,提供个人介绍、通讯录、文章库、图片库、藏书库、软件库、站内短信、网上闹钟、日程安排、网上日记、留言板等多种服务功能,并免费提供60M的硬盘空间。

http://222.77.178.194/dx_zsdnss/index.php

福州电信。20M网络硬盘.单个上载文件小于等于50M[搞笑].需注册.

http://netdisk.9999g.com/

万吉网络硬盘。空间大小为24M.您的个人主页空间为:您的用户名.go.9999g.com,您可以通过万吉网络硬盘的个人主页功能对您的个人主页进行轻松的建设。可共享。需注册.

http://cn.briefcase.yahoo.com/

YAHOO公文包。提供的30M存储空间

http://netdisk.xiluic.com/

西陆免费网络硬盘。提供20M网络硬盘,可以存放各种文件,不仅仅可以上传图片,还可以上传

.doc、mp3、.ram、.zip、.exe文件等等。

http://www.qq.com/

QQ网络硬盘共享。16M免费

http://www.51uc.com/

UC网络硬盘共享。免费32M,满100小时送64M,满500小时送128M

http://rlcode.com/webdisk/

佳码软件网络硬盘。免费50M.

http://www.onlinedown.net/soft/35496.htm

GMail Drive。这绝对是一款会让Gmail用户100%惊奇和惊喜的软件.这款只有100多k的软件会在你的硬盘上生成一个虚拟硬盘分区GMail Drive,文件系统为GMailFS(哈,好像微软在Longhorn里的是WinFS吧.)这样你的硬盘上就多出了1个G的空间了.你可以在 GMail Drive上进行任意的复制、粘贴、删除、创建新的文件夹,甚至拖曳操作,而所有的文件都是存储在Gmail的服务器上.这样你就可以充分利用Gmal的 1G空间了.当然这一切的前提是你必须有一个Gmail的帐户!

http://gigdrive.tollfreepage.com/

gMail Drive v0.6。在线上传文件到GMAIL空间

http://www.streamload.com/Default.asp

10GB免费网络硬盘。

步骤1:单击网页顶端的“SIGN UP”按钮去注册一个账号。在注册页面的“USERNAME”一栏中输入申请的用户名,在“PASSWORD”和“CONFIRM PASSWORD”栏目中分别为输入同样的账户密码,出于安全考虑,密码不可过于简单。“EMAIL”一栏中则必须填写自己正确的EMAIL地址,在 “COPY THIS TEXT”栏目中则需要输入所显示的验证码。

步骤2:接下来要选择打算申请的服务标准,目前该网络硬盘的服务共分为五种标准:第一种是可拥有存储10GB的空间,每月最高只能下载100MB的文件,该标准目前不收费任何费用;

第二种,勾选页面中的“I agree to streamload`s Terms And Conditions Of Use”选项同意接受相关协议,单击“SUBMIT TO CREATE YOUR ACCOUNT”按钮即可提交创建账户的申请。当所申请的用户名没被别人注册,即可进入网络硬盘的使用界面。

http://www.yousendit.com/

YouSendIt。简单发送1GB附件的邮件

步骤1:在“Recipient 's Email Address”栏目中,输入接收者的邮箱地址。

步骤2:从“Select File to Send(Upto1GB)”这个栏目标题中能获悉所发送文件的最大容量可达到1GB,这样的标准相信可满足大多数用户的要求。而单击栏目旁的“浏览”按钮,在出现的对话框中选择所要发送的文件即可。

步骤3:为了使朋友知道自己的E-mail地址,可在“Your Email Address(Optional)”栏目中输入自己的邮箱地址,并勾选下方的“Remember my email address”选项对邮件地址进行记忆。在“Message to Recipient(Optional)”文本框中进行留言。当所有设置准备妥当后,单击“Send It”按钮即可发送。

若用户想让自己的文件能以更安全的方式发送,可单击页面底部的“Need secure transfers”链接,而后在打开的页面里进行文件发送即可。

随着无限存系统的不断发展,用户数量的不断膨胀,为了保证每个用户所得到的服务,所以无限存现在以两种方式开放注册。

1.邀请和推荐机制

您如果想成为无限存的成员,那么您就需要一个已注册成员的邀请。您收到了这个邀请,注册您的ID和密码,就可以像其他成员一样使用我们的服务了。如果您没有无限存成员的邀请,那么您可以点击http://new.flashsave.com/web/bbs_index.php或者http://www.dixia.net到论坛寻求帮助,或者加入无限存的官方QQ群获得邀请。(见下表)

2.免费帐户。

为了缓解服务器压力和满足用户的需求,无限存现开放非正式用户的注册,非正式会员可以查看和下载资源、发表文章和使用blog的免费帐户,一样可以得到100g的空间,但是唯一与一般用户不同的是您无法上传文件。但是您可以通过blog、论坛和邀请好友的活动来升级您的帐号,成为无限存的正式用户。请点击注册>>

我们真心期望你早日成为我们中的一员! 返回

无限存官方QQ群列表 官方群认证资格:1 可以容纳百人以上 2 接受flashsave+编号的命名 3 有一名无限存管理员常驻

如果您对我的回答满意请选择采纳,谢谢

参考资料:http://www.qiuyucity.com/bbs/ShowPost.asp?id=8109

参考资料:http://zhidao.baidu.com/question/1813969.html