• 【转】如何复制一个正在使用的文件?(VB6.0)


    2012-02-16 21:02

    【转】如何复制一个正在使用的文件?(VB6.0)

    刚刚在群里与别人聊到,使用VB的FileCopy函数无法复制正在使用中的文件.

    他是想将数据库备份.

    网上有不少的办法,有使用API的,有使用FSO的等.

    我想,无法复制使用中的文件,可能是使用了读写模式打开源文件的原因吧.

    于是就试着写了以下函数:

    Public Function FileCopyEx(ByVal SouFileName As String, ByVal DestFileName As String)
         '复制文件,可以复制正在使用的文件.
         'SouFileName - 源文件
         'DestFileName - 目标文件
         'By 马大哈
         '2007-05-05
         Dim tmpArr() As Byte
        
         Open SouFileName For Binary Access Read As #1
             ReDim tmpArr(LOF(1))
             Get 1, , tmpArr
         Close #1
        
         Open DestFileName For Binary As #2
             Put 2, , tmpArr
         Close #2
        
         ReDim tmpArr(0)              '释放内存
    End Function

    FileCopyEx与FileCopy是一样的用法,不过它可以复制正在使用中的文件.

    代码非常简单,就不说明了.

    但这种原理的代码是有问题的,就是在复制很大的文件时,程序会挂起.(文件小感觉不到)

    最理想的是这样:

    一,分段读入/写入,并返回进度;

    二,放在一个线程里.

    但是,VB6里多线程真的不好搞(至少我的本事还达不到让它稳定的程度.....)
  • 相关阅读:
    居然就这么没有了
    RAID4 in WAFL
    网络存储导论第15章:Netapp产品分析
    radwareAPSolute应用前端解决方案全局负载均衡解决方案
    RAID , LVM and EVMS
    FND_STANDARD.SET_WHO
    基于基表的Form开发
    eclipse pydev 升级地址
    .net程序员应该知道的
    收集利用Jquery取得iframe中元素
  • 原文地址:https://www.cnblogs.com/wuyifu/p/2765710.html
Copyright © 2020-2023  润新知