CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  Windows SDK/API

用api复制文件

楼主wlq()2000-03-02 03:18:00 在 Delphi / Windows SDK/API 提问

我设想开几个线程,每个线程从同一个文件的不同位置开始复制,到另外一个地方  
  再组装起来,线程我会,但我对有关的api不太熟,msdn光盘我有,看着太累,可  
  否请哪位大侠给个例子我学习一下?(指从文件的某一处开始读写) 问题点数:50、回复次数:13Top

1 楼hubdog()回复于 2000-03-02 07:25:00 得分 15

用TFilestream不就可以吗?它有seek或position来定位,然后read不就完了  
  。Top

2 楼929()回复于 2000-03-02 08:23:00 得分 5

我觉得HUBDOG说的不错,用TFILESTREAM就可以完成。在《DELPHI3开发人员手册》中有例子。Top

3 楼jll(你快乐,所以我快乐)回复于 2000-03-02 08:51:00 得分 25

你是不是想编一个类似网络蚂蚁的程序。根据我操作文件的经验,同时拷贝、读写多个文件时,各个文件的拷贝、读写时间都会延长一些。真正有价值的是,操作硬盘上一个文件的同时,再操作软盘上的一个文件,这样在时间上很划算。Top

4 楼sadpacific(皮卡丘)回复于 2000-03-02 10:09:00 得分 0

我跟。Top

5 楼wlq()回复于 2000-03-02 16:37:00 得分 0

我试了一下,TfileStream确实好用,但我尝试了一下把文件拆成几块后分别  
  存放在硬盘上,发现只有txt文件可以,其他文件不行,请问如何解决?Top

6 楼jll(你快乐,所以我快乐)回复于 2000-03-02 18:24:00 得分 0

并不是所有文件都可以拆开后各自工作,大多数文件都有特定得结构,最常见得是文件头信息加文件数据。  
  当然有些文件是可以拆开的,如:MP3(很高兴吧)  
  最后,一般可以拆开的文件也可以合并,我自己的MP3库中只有一个MP3文件,我自己把所有想听的歌合并成一首。这样的好处是连续播放,不会出现换曲的时候机器突然变慢的情况,坏处是无法调整播放顺序。Top

7 楼agui(阿贵: 高级图形用户界面)回复于 2000-03-02 18:38:00 得分 0

我看这个文件蚂蚁的方法不实用,网络蚂蚁实用在于Internet比较慢,所以可以从不同位置用多线程先放在本地盘的多个临时文件。该方法用于本地或局域网时无疑反而是降低了效率。可说是“东施效颦”。  
   
  用TFileStream应当是可以存取非文本文件的(本人实践过),关键是在内存你怎样操作。Top

8 楼wlq()回复于 2000-03-02 21:28:00 得分 0

那么请问,如何操作内存呢  
  我想拆分zip文件,不知是否还要了解zip的文件格式  
  不知网络蚂蚁是怎么做的Top

9 楼hubdog()回复于 2000-03-02 22:41:00 得分 0

蚂蚁根本不管什么文件格式,它把文件都分成几份,存成另外的扩展名,当全部  
  文件下载好了,再把所有文件拼接起来。  
  >>我试了一下,TfileStream确实好用,但我尝试了一下把文件拆成几块后分别  
  >>存放在硬盘上,发现只有txt文件可以,其他文件不行,请问如何解决?  
  没明白你什么意思,拆成几块后,必须拼接好才能用啊?你到底想干什么?Top

10 楼ForrestSong()回复于 2000-03-02 23:05:00 得分 5

你的目标文件必须设置成与源文件同样大小,保存后再在各线程中共享随机读写方式打开  
  接受实际内容.Top

11 楼wlq()回复于 2000-03-02 23:42:00 得分 0

>>目标文件必须设置成与源文件同样大小保存后再在各线程中共享随机读写方式打开  
      哎呀,我还没注意这个问题,马上试试看  
   
  to   hubdog:  
        文件最后拼接时,出现访问冲突  
        btw:孙老师的信箱是在263.net吗Top

12 楼jll(你快乐,所以我快乐)回复于 2000-03-03 00:15:00 得分 0

文件访问冲突可能是企图同时打开同一个文件进行写操作。Top

13 楼wlq()回复于 2000-03-03 01:21:00 得分 0

线路不好,拨了半个小时的号:(  
  文件组装成功,访问冲突是由于在给文件块分配缓冲区时出了问题  
  我最后还有一点不懂:有什么办法能建立一个任意扩展名的文件?如果不行的话,  
  那么在磁盘上建临时存储区用什么方法?Top

相关问题

  • 请问怎么调用API进行文件的复制和移动?
  • 文件管理:如何使用API或MFC列举驱动器、文件夹、文件,移动、复制、删除、粘贴文件、文件夹。
  • 文件复制
  • 文件复制
  • 用API函数COPYFILE进行网络文件复制时,如何自动建立与主机的信任关系?
  • 用API函数COPYFILE进行网络文件复制时,如何自动建立与主机的信任关系?
  • 关于调用API进行操作文件如复制粘贴,删除打开的问题
  • 关于API中的文件复制命令???
  • 文件的复制
  • 复制文件夹

关键词

  • mp3
  • 文件
  • 线程
  • 硬盘
  • 网络
  • tfilestream
  • 蚂蚁
  • 拼接
  • 拆开
  • 读写

得分解答快速导航

  • 帖主:wlq
  • hubdog
  • 929
  • jll
  • ForrestSong

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo