不用临时文件如何削减一个文件大小?

vbfool 2009-08-21 02:19:22
类似这样,我有一个1G的文件,需要删除后500M,变为500M大小,但是剩余空间不够创建新文件(或者不希望创建新文件)。请问如何实现?
以往方法,似乎都是创建一个500M大小新文件,然后填充好,删除原文件再改名的,那么是否能直接改变单个文件大小的?
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbfool 2009-08-24
  • 打赏
  • 举报
回复
所谓的自定义格式的封包文件,类似ISO镜像式的文件,主要靠流写入和读出的,一个文件包含了几百上前个文件的内容,所以才会这么大。
Forrest23 2009-08-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mzhao 的回复:]
删除后500MB简单。
VB.NET codeUsing fs=New IO.FileStream("文件名",IO.FileMode.Open,IO.FileAccess.ReadWrite)
fs.SetLength(500*1024*1024)EndUsing
但是如果你要把前面的东西切掉(哪怕只是1个字节)都很麻烦,可以不用临时文件,但要将数据一块一块读入内存,在写进去,还得确保不覆盖未读的部分。
[/Quote]

学到了
mzhao 2009-08-24
  • 打赏
  • 举报
回复
删除后500MB简单。

Using fs = New IO.FileStream("文件名",IO.FileMode.Open,IO.FileAccess.ReadWrite)
fs.SetLength(500*1024*1024)
End Using

但是如果你要把前面的东西切掉(哪怕只是1个字节)都很麻烦,可以不用临时文件,但要将数据一块一块读入内存,在写进去,还得确保不覆盖未读的部分。
树猫 2009-08-23
  • 打赏
  • 举报
回复
什么文件呢?那么大。
Forrest23 2009-08-21
  • 打赏
  • 举报
回复
你这个是什么文件呢?可不可以用文件分割的方法?

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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