关于仿讯雷以及成生空文件的有关问题
关于仿讯雷以及成生空文件的问题!
我有个项目,想像讯雷下载一样,
得到文件大小后,先在本地生成一个
a.exe.td 这个空文件,占住空间...这个文件要和原文件大小一样..
再生成一个 a.exe.td.cfg 来记录相关信息...
现在就是不会成生这个空文件...
我用 str = space(filelen(原文件))
然后 open 新文件这样写入.
遇到两个问题..
1 一个只有三个字的文本文件,用这种方法生成后,就OK. 但大的文件就会多8个字节
2 过于大的文件 str的长度会超长...
请问高手,有别的思路或解决方案吗?
谢谢
------解决方案--------------------
你不要用string类型的写入,也不用output 或append方式打开, 用binary如下:
Dim b() As Byte, l As Integer, j As Integer
l = FileLen( "d:\rising.ini ")
ReDim b(l)
Open "d:\1 " For Binary As #1
For j = 1 To l
Put #1, , b(j)
Next j
Close #1
------解决方案--------------------
有初生牛犊不怕虎的感觉.
楼主目前好像应该先学学很多相关的基础知识再说,一上来就想做仿迅雷的软件,不切实际吧. 看看这些好软件,哪有一句一句问出来的?
就象在没有把一本书看完之前连提问题的权利都没有.踏踏实实学好基础才是关键.
------解决方案--------------------
用for next循环填充文件
------解决方案--------------------
你需要占用空间的文件有多大?以前我也试过用VB生产空文件占用磁盘空间,速度都可以接受。其实这就是一般的文件读写问题,实现的速度和硬盘的读写速率有关系。你可以用迅雷或FlashGet试一试下载一个很大的文件,比如500M。开始下载时它们也会有一个比较明显的停顿时间,这个时间就是用来占用磁盘空间的。
我有个项目,想像讯雷下载一样,
得到文件大小后,先在本地生成一个
a.exe.td 这个空文件,占住空间...这个文件要和原文件大小一样..
再生成一个 a.exe.td.cfg 来记录相关信息...
现在就是不会成生这个空文件...
我用 str = space(filelen(原文件))
然后 open 新文件这样写入.
遇到两个问题..
1 一个只有三个字的文本文件,用这种方法生成后,就OK. 但大的文件就会多8个字节
2 过于大的文件 str的长度会超长...
请问高手,有别的思路或解决方案吗?
谢谢
------解决方案--------------------
你不要用string类型的写入,也不用output 或append方式打开, 用binary如下:
Dim b() As Byte, l As Integer, j As Integer
l = FileLen( "d:\rising.ini ")
ReDim b(l)
Open "d:\1 " For Binary As #1
For j = 1 To l
Put #1, , b(j)
Next j
Close #1
------解决方案--------------------
有初生牛犊不怕虎的感觉.
楼主目前好像应该先学学很多相关的基础知识再说,一上来就想做仿迅雷的软件,不切实际吧. 看看这些好软件,哪有一句一句问出来的?
就象在没有把一本书看完之前连提问题的权利都没有.踏踏实实学好基础才是关键.
------解决方案--------------------
用for next循环填充文件
------解决方案--------------------
你需要占用空间的文件有多大?以前我也试过用VB生产空文件占用磁盘空间,速度都可以接受。其实这就是一般的文件读写问题,实现的速度和硬盘的读写速率有关系。你可以用迅雷或FlashGet试一试下载一个很大的文件,比如500M。开始下载时它们也会有一个比较明显的停顿时间,这个时间就是用来占用磁盘空间的。