精华内容
下载资源
问答
  • 文件操作:拷贝(C语言)

    千次阅读 2019-04-13 21:51:52
    本文分享一下文件拷贝的操作: 从源文件读数据到缓存区; 把缓存区数据写入目标文件; 首先来了解需要用到的几个函数 fopen :打开文件 函数原型:FILE * fopen(const char * path, const char * mode); ...

    文件操作:拷贝(C语言)

    本文分享一下文件拷贝的操作:

    1. 从源文件读数据到缓存区;
    2. 把缓存区数据写入目标文件;

    首先来了解需要用到的几个函数

    • fopen :打开文件
      函数原型:FILE * fopen(const char * path, const char * mode);
      参数:path 代表需要打开的文件路径
      参数:mode 代表流形态
    • fread :从文件中读取数据
      函数原型:size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;
      参数:buffer 代表接收数据的内存
      参数:size 代表要读的每个数据的 字节数
      参数:count 代表要读的数据项个数,每个数据项size个字节
      参数:stream输入流
    • fwrite :把数据写入文件
      函数原型:size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
      参数:buffer 代表获取数据的地址
      参数:size 代表被写入内容的大小,以字节为单位
      参数:count 代表写入size字节的数据项个数
      参数:stream 文件指针
    • fclose :关闭数据流,刷新缓冲区
      函数原型:int fclose( FILE *fp );
      参数:fp 要被关闭的流

    程序如下

    int func_copyfile(char *pSrc, char *pDest)
    {
    	FILE *fp1 = NULL; //指向源文件
    	FILE *fp2 = NULL; //指向目的文件
    	char byBuff[1024*2] = {0}; //缓存
    	u32 fileBytes = 0; //文件大小
    
    	if((pSrc == NULL) || (pDest == NULL))
    	{
    		return ERROR;
    	}
    	
    	if((fp1 = fopen(pSrc, "r")) != NULL)
    	{
    		if((fp2 = fopen(pDest, "w")) != NULL)
    		{
    			while((fileBytes = fread(byBuff, 1, sizeof(byBuff), fp1)) > 0)
    			{
    				fwrite(byBuff, fileBytes, 1, fp2);
    				memset(byBuff, 0, sizeof(byBuff));
    			}
    			
    			fclose(fp1);
    			fclose(fp2);
    			
    			return OK;
    		}
    	}
    
    	return ERROR;
    }
    

    最后,分享一句话:时间不会停下来等你,我们现在过的每一天,都是余生中最年轻的一天。 好好生活,珍惜当下????

    展开全文
  • Qt拷贝文件、文件夹以及拷贝进度

    万次阅读 热门讨论 2018-01-04 17:55:02
    头文件: #ifndef SFILECOPY_H #define SFILECOPY_H #include #include class SFileCopy : public QObject { Q_OBJECT public: explicit SFileCopy(QObject *parent = 0); ~SFileCopy();... //拷贝文件

    头文件:

    #ifndef SFILECOPY_H
    #define SFILECOPY_H
    
    #include <QObject>
    #include <QDir>
    
    class SFileCopy : public QObject
    {
        Q_OBJECT
    public:
        explicit SFileCopy(QObject *parent = 0);
        ~SFileCopy();
    
        //拷贝文件:
        bool copyFileToPath(QString sourceDir ,QString toDir, bool coverFileIfExist);
    
        //拷贝文件夹:
        bool copyDirectoryFiles(const QString &fromDir, const QString &toDir, bool coverFileIfExist);
    signals:
        void sigCopyDirStation(float num);
        void sigCopyDirOver();
    private:
        QDir * m_createfile = Q_NULLPTR;
        float m_total = 0;
        float m_value = 0;
        bool m_firstRead = true;
    };
    
    #endif // SFILECOPY_H
    

    源文件:

    #include "sfilecopy.h"
    #include <QDir>
    #include <QFile>
    #include <QFileInfo>
    #include <QDebug>
    
    
    SFileCopy::SFileCopy(QObject *parent) : QObject(parent)
    {
        m_createfile = new QDir();
    }
    
    
    SFileCopy::~SFileCopy()
    {
        if(m_createfile) {
            m_createfile = Q_NULLPTR;
            delete m_createfile;
        }
    }
    
    
    bool SFileCopy::copyFileToPath(QString sourceDir, QString toDir, bool coverFileIfExist)
    {
        toDir.replace("\\","/");
        if (sourceDir == toDir){
            return true;
        }
        if (!QFile::exists(sourceDir)){
            return false;
        }
        bool exist = m_createfile->exists(toDir);
        if (exist){
            if(coverFileIfExist){
                m_createfile->remove(toDir);
            }
        }
    
    
        if(!QFile::copy(sourceDir, toDir)) {
            return false;
        }
        return true;
    }
    
    
    bool SFileCopy::copyDirectoryFiles(const QString &fromDir, const QString &toDir, bool coverFileIfExist)
    {
        QDir sourceDir(fromDir);
        QDir targetDir(toDir);
        qDebug() << "copyDirectoryFiles:" << fromDir << toDir;
        if(!targetDir.exists()){    /**< 如果目标目录不存在,则进行创建 */
            if(!targetDir.mkdir(targetDir.absolutePath())) {
                return false;
            }
        }
        QFileInfoList fileInfoList = sourceDir.entryInfoList();
    
    
        if(m_firstRead) {
            int isfileTMP = 0;
            qDebug() << "a copyDirectoryFiles:" << fileInfoList.count();
            foreach(QFileInfo fileInfo, fileInfoList){
                if(fileInfo.isFile()) {
                    isfileTMP++;
                }
            }
            m_total = fileInfoList.count() - 2 - isfileTMP; // 2为.和..
            m_value = 0;
            m_firstRead = false;
            qDebug() << "a copyDirectoryFiles:" << fileInfoList.count() <<m_total << isfileTMP;
            emit sigCopyDirStation(m_value/m_total);
            if(m_value == m_total) {
                m_firstRead = true;
                emit sigCopyDirStation(1);
                emit sigCopyDirOver();
            }
        } else {
            m_value++;
            qDebug() << "a copyDirectoryFiles:" << m_value <<m_total;
            emit sigCopyDirStation(m_value/m_total);
            if((m_value/m_total == 1) || (m_value > m_total) || (m_value == m_total)) {
                m_firstRead = true;
                emit sigCopyDirOver();
            }
        }
        foreach(QFileInfo fileInfo, fileInfoList){
            if(fileInfo.fileName() == "." || fileInfo.fileName() == "..") {
                continue;
            }
            if(fileInfo.isDir()){    /**< 当为目录时,递归的进行copy */
                if(!copyDirectoryFiles(fileInfo.filePath(), targetDir.filePath(fileInfo.fileName()), coverFileIfExist)) {
                    return false;
                }
            } else{            /**< 当允许覆盖操作时,将旧文件进行删除操作 */
                if(coverFileIfExist && targetDir.exists(fileInfo.fileName())){
                    targetDir.remove(fileInfo.fileName());
                }
                /// 进行文件copy
                if(!QFile::copy(fileInfo.filePath(), targetDir.filePath(fileInfo.fileName()))){
                    return false;
                }
            }
        }
        return true;
    }

     
    

    展开全文
  • Golang三种方式拷贝文件

    千次阅读 2020-05-24 16:21:23
    Golang三种方式拷贝文件 本文介绍三种典型拷贝文件方式,同时比较三种方法的效率,让我们了解什么场景下选择合适的方法。 1. 拷贝文件三种方法 三种典型的方法分别为Go标准库提供的io.Copy(),第二种方法是利用...

    Golang三种方式拷贝文件

    本文介绍三种典型拷贝文件方式,同时比较三种方法的效率,让我们了解什么场景下选择合适的方法。

    1. 拷贝的文件三种方法

    三种典型的方法分别为Go标准库提供的io.Copy(),第二种方法是利用ioutil.ReadFile() 和 ioutil.WriteFile() ,最后是使用os.Read() 和 os.Write()方法。

    1.1 io.Copy()方法

    首先使用Go标准库的io.Copy()方法。copy()方法实现详细逻辑:

    func copy(src, dst string) (int64, error) {
            sourceFileStat, err := os.Stat(src)
            if err != nil {
                    return 0, err
            }
    
            if !sourceFileStat.Mode().IsRegular() {
                    return 0, fmt.Errorf("%s is not a regular file", src)
            }
    
            source, err := os.Open(src)
            if err != nil {
                    return 0, err
            }
            defer source.Close()
    
            destination, err := os.Create(dst)
            if err != nil {
                    return 0, err
            }
            defer destination.Close()
            nBytes, err := io.Copy(destination, source)
            return nBytes, err
    }
    

    首先判断源文件是否存在(oa.Stat()方法),然后判断是否为常规文件(IsRegular()方法),确保文件可以被打开,核心的语句是io.Copy(destination, source),其返回拷贝的字节数和发生错误的信息。如果没有错误则返回nil。io.Copy()函数更多内容可参考文档或其源码。

    下面定义main函数进行调用:

    func main() {
    	if len(os.Args) != 3 {
    		fmt.Println("Please provide two command line arguments!")
    		return
    	}
    
    	sourceFile := os.Args[1]
    	destinationFile := os.Args[2]
    
    	nBytes, err := copy(sourceFile, destinationFile)
    	if err != nil {
    		fmt.Printf("The copy operation failed %q\n", err)
    	} else {
    		fmt.Printf("Copied %d bytes!\n", nBytes)
    	}
    }
    

    这种方法很简单但对开发者来说不灵活,虽不是坏事,但有时需要灵活读取文件或写文件。

    1.2 ioutil.ReadFile() 和 ioutil.WriteFile()

    第二种方法使用ioutil.ReadFile() 和 ioutil.WriteFile() 。第一个函数把整个文件读到字节类型切片中,第二个函数负责写至文件中。

    我们定义copy2()函数:

        input, err := ioutil.ReadFile(sourceFile)
        if err != nil {
                fmt.Println(err)
                return
        }
    
        err = ioutil.WriteFile(destinationFile, input, 0644)
        if err != nil {
                fmt.Println("Error creating", destinationFile)
                fmt.Println(err)
                return
        }
    

    当然也需要文件名判断部分,读者可参考上节内容,主要功能就是读和写部分。
    这种方法也实现了拷贝功能,但在拷贝大文件时效率不高,因为读取大文件暂用内存也大。

    1.3 os.Read() 和 os.Write()

    第三种方法使用os.Read() 和 os.Write(),实现内容公共部分都一致,但多了一个参数,即缓冲大小。核心代码在for循环中,请看代码:

        buf := make([]byte, BUFFERSIZE)
        for {
                n, err := source.Read(buf)
                if err != nil && err != io.EOF {
                        return err
                }
                if n == 0 {
                        break
                }
    
                if _, err := destination.Write(buf[:n]); err != nil {
                        return err
                }
        }
    

    os.Read()方法每次读取文件的一小部分至缓冲区,os.Write()方法写缓冲区至文件。在读过程有错误或读到文件结尾(io.EOF)拷贝过程停止.

    完整代码为:

    package main
    
    import (
    	"fmt"
    	"io"
    	"os"
    	"path/filepath"
    	"strconv"
    )
    
    var BUFFERSIZE int64
    
    func copy(src, dst string, BUFFERSIZE int64) error {
    	sourceFileStat, err := os.Stat(src)
    	if err != nil {
    		return err
    	}
    
    	if !sourceFileStat.Mode().IsRegular() {
    		return fmt.Errorf("%s is not a regular file.", src)
    	}
    
    	source, err := os.Open(src)
    	if err != nil {
    		return err
    	}
    	defer source.Close()
    
    	_, err = os.Stat(dst)
    	if err == nil {
    		return fmt.Errorf("File %s already exists.", dst)
    	}
    
    	destination, err := os.Create(dst)
    	if err != nil {
    		return err
    	}
    	defer destination.Close()
    
    	if err != nil {
    		panic(err)
    	}
    
    	buf := make([]byte, BUFFERSIZE)
    	for {
    		n, err := source.Read(buf)
    		if err != nil && err != io.EOF {
    			return err
    		}
    		if n == 0 {
    			break
    		}
    
    		if _, err := destination.Write(buf[:n]); err != nil {
    			return err
    		}
    	}
    	return err
    }
    
    func main() {
    	if len(os.Args) != 4 {
    		fmt.Printf("usage: %s source destination BUFFERSIZE\n", filepath.Base(os.Args[0]))
    		return
    	}
    
    	source := os.Args[1]
    	destination := os.Args[2]
    	BUFFERSIZE, err := strconv.ParseInt(os.Args[3], 10, 64)
    	if err != nil {
    		fmt.Printf("Invalid buffer size: %q\n", err)
    		return
    	}
    
    	fmt.Printf("Copying %s to %s\n", source, destination)
    	err = copy(source, destination, BUFFERSIZE)
    	if err != nil {
    		fmt.Printf("File copying failed: %q\n", err)
    	}
    }
    

    2. 测试

    下面我们利用linux的time命令实现简单基准测试,首先对三种方法进行基准测试,然后第三种方法采用不同的缓冲区大小参数进行测试。

    下面使用三种方法测试500M文件拷贝,对比三种性能:

    $ ls -l INPUT
    -rw-r--r--  1 mtsouk  staff  512000000 Jun  5 09:39 INPUT
    $ time go run cp1.go INPUT /tmp/cp1
    Copied 512000000 bytes!
    
    real    0m0.980s
    user    0m0.219s
    sys     0m0.719s
    $ time go run cp2.go INPUT /tmp/cp2
    
    real    0m1.139s
    user    0m0.196s
    sys     0m0.654s
    $ time go run cp3.go INPUT /tmp/cp3 1000000
    Copying INPUT to /tmp/cp3
    
    real    0m1.025s
    user    0m0.195s
    sys     0m0.486s
    

    我们看到三者差别不大,说明标准库提供的方法是经过优化的。下面测试第三种方法不同缓冲区大小参数的性能,10、20和1000字节三种情况分别拷贝500M文件:

    $ ls -l INPUT
    -rw-r--r--  1 mtsouk  staff  512000000 Jun  5 09:39 INPUT
    $ time go run cp3.go INPUT /tmp/buf10 10
    Copying INPUT to /tmp/buf10
    
    real    6m39.721s
    user    1m18.457s
    sys         5m19.186s
    $ time go run cp3.go INPUT /tmp/buf20 20
    Copying INPUT to /tmp/buf20
    
    real    3m20.819s
    user    0m39.444s
    sys         2m40.380s
    $ time go run cp3.go INPUT /tmp/buf1000 1000
    Copying INPUT to /tmp/buf1000
    
    real    0m4.916s
    user    0m1.001s
    sys     0m3.986s
    

    输出结果显示较大的缓存区考核性能更好。同时使用20字节以下拷贝速度非常慢。

    3. 总结

    本文讨论了三种拷贝方法,并通过time命令进行基准测试比对性能。

    展开全文
  • BAT 文件拷贝与文件、文件夹删除

    千次阅读 2019-02-21 09:52:31
    最近项目一直要debug,会经常有拷贝文件,还有删除文件文件夹的操作。本着高效率的想法,写了几个bat脚本。另,由于我的电脑不是administrator用户登陆的,删除文件文件夹经常会提示管理员,很烦,在bat脚本里也针对...

    最近项目一直要debug,会经常有拷贝文件,还有删除文件文件夹的操作。本着高效率的想法,写了几个bat脚本。另,由于我的电脑不是administrator用户登陆的,删除文件文件夹经常会提示管理员,很烦,在bat脚本里也针对此情况做了处理。bat脚本如下。

    1.拷贝文件

    cd /d %~dp0
    %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit

    echo "替换pdjson文件"

    xcopy /e/y/r  E:\ipc_ctrl\ipcctrl_v300\60-nms\_ipcoutput_\Debug\ass_pdjson.dll "C:\Program Files (x86)\IPC\Web"

    echo 脚本执行完成

    exit

     

    2.删除文件、文件夹

    cd /d %~dp0
    %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit

    echo "删除ipc文件夹下的web文件夹与文件"

    del /f /s /q "C:\Program Files (x86)\IPC\Web\*.*"
    rd    /s /q  "C:\Program Files (x86)\IPC\Web"

    echo 脚本执行完成

    exit

     

    3.备注

    (1)dos下切换到管理员用户

    cd /d %~dp0

    %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit

    (2)执行完脚本后使用exit来退出CMD窗口,不想退出的可使用pause

    (3)del用来删除文件,rd用来删除空文件夹。需要组合使用。

    (4)路径有特殊字符(例如空格等)的需要用""把全路径包起来

     

    支持

    欢迎关注公众号  谁吃薄荷糖,主要记录日常中觉得有意思的事情以及分享开发实践,保持深度和专注度,喜欢的点击右下角的再看哦。

    https://img-blog.csdnimg.cn/20200618112613122.png

     

    展开全文
  • Java中实现拷贝文件

    千次阅读 2019-04-05 20:48:24
    Java中实现拷贝文件 本文我们学习java中多种方式复制文件。首先使用标准IO和NIO2 api,然后利用第三方库实现。 IO API 首先,使用java.io api拷贝文件,需要打开流,循环遍历内容,写入另一个流: @Test public void...
  • linux拷贝文件命令

    千次阅读 2021-02-06 16:48:48
    定义:cp is short for copy, 意为复制文件。用于将文件或目录从一个位置复制到另一个位置。 参数列表预览: 用法1: $ cp sourceFile destinationFile 当sourceFile 和 destinationFile 参数都是文件名时,cp ...
  • 远程桌面拷贝文件的问题

    千次阅读 2019-01-16 15:14:02
    远程桌面拷贝文件的问题
  • java实现文件拷贝

    万次阅读 2018-02-27 18:16:17
    一、使用读取字节流的方式进行文件拷贝。 当文件较小时,可通过以下代码实现文件拷贝。 版本一代码如下: package webnet.course1.filecopy; import java.io.FileInputStream; import java.io....
  • Linux 拷贝文件

    万次阅读 2018-07-05 16:17:02
    如果只有一个文件 cp [原文件所在路径] [要拷贝到目录下] 如:cp /home/test.php /home/index.php //把test.php 拷贝成 index.php 如果是文件夹及其文件 cp [原文件夹路径] [要拷贝到的路径] 如: cp /home/...
  • saltstack 拷贝文件设置权限

    千次阅读 2018-05-21 10:58:59
    salt-cp 192.168.130.* env130.sh /root/ 拷贝文件到远程/root 目录 salt 192.168.130.* file.set_mode /root/env130.sh 755 设置远程文件权限
  • python递归拷贝和覆盖文件

    千次阅读 2019-11-19 11:45:25
    为了方便,在网上找找,但结果不尽人意,都达到覆盖的效果,碰到已存在的文件就报错 自己手写个,顺便理一下逻辑 先来看一下源目录结构???? 再看一下目标目录结构???? 当函数执行完毕后???? 层次结构原封不动全部...
  • 一学就会——电脑安装linux虚拟机

    千人学习 2019-08-13 11:24:18
    在Linux环境下学习编程开发,运维管理,都需要用到Linux系统。 可以安装Linux、Windows双系统,也可以将电脑重装为Linux系统,最简单的方法就是安装一个Linux虚拟机。 用的时候打开虚拟机,不用的时候关闭虚拟机。...
  • 苹果电脑上的文件不拷贝到U盘怎么解决? 现在用苹果电脑的人也很多了,有的人在使用苹果电脑的时候很困惑一个问题,在苹果电脑下编辑的文件,无法通过拷贝的方式粘贴到插入的U盘中。我根据自己经验给大家一点解决...
  • c++用文件流实现文件拷贝

    千次阅读 热门讨论 2018-10-23 16:17:07
    核心就是文件流怎么读写的问题,已经将问题简化为文件拷贝,代码如下: #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { cout &lt;&lt; "...
  • Linux服务器之间互相拷贝文件

    千次阅读 2019-07-10 22:41:05
    在两台Linux服务器之间拷贝文件或文件夹,使用命令:scp 语法: scp -r dir username@host:dir ... 例子1:将本地文件夹推送到远程服务器上 ...将本地 /home/ 路径下的所有文件拷贝到远程主机ip为192.168.1...
  • 在Android.mk文件中进行文件拷贝

    千次阅读 2020-03-16 17:15:43
    在安卓系统编译打包时,会拷贝很多文件,打包到image中。 有一些文件需要在编译apk时进行拷贝拷贝代码添加在Android.mk文件中。 使用shell命令进行拷贝: # libvlcjni $(shell mkdir -p $(PRODUCT_OUT)/system/app/...
  • linux采用scp命令拷贝文件到本地,拷贝本地文件到远程服务器 // 假设远程服务器IP地址为 192.168.1.100 1.从服务器复制文件到本地: scp root@192.168.1.100:/data/test.txt /home/myfile/ root@192.168.1.100 root...
  • ubuntu 拷贝文件/文件夹到U盘

    千次阅读 2019-04-09 14:36:47
    ubuntu 拷贝文件/文件夹到U盘 fdisk -l #查看U盘在那个位置 在/mnt下新建文件夹,用来挂载U盘,U盘只能挂载在/mnt里,或者它的子目录里 cd /mnt mkdir media cp -r 递回持续复制,复制文件夹 cp 只能拷贝文件 ...
  • 1、拷贝文件时提示目标文件系统过大,无法复制。 查U盘,发现剩余空间足够 2、分析原因,是由于U盘的格式问题导致的,当期的磁盘格式是FAT32类型的,无拷贝过大的文件: 3、接下来修改U盘类型,且格式化U盘,...
  • 随手小记:在开发需求中有一个需求是监控目录下拷贝进来的文件,并对文件进行处理,使用的java.nio 、 watchService 进行的处理,如果小文件还好一点,拷贝就是一瞬间的事情,但是如果是一个大文件,比如10G的文件...
  • 远程桌面拷贝文件的解决方法

    千次阅读 2017-08-04 10:19:37
    如果想在远程服务器上复制文件到本机,用远程桌面就可以直接复制文件到本机。只需要在启动远程桌面程序时,选择“本地资源”项,选中“磁盘驱动器”,然后,在远程服务器上,就可以看到本机的驱动器了(如同浏览网络...
  • 在电脑上拷贝文件到u盘时,特别是文件大于4个G时,就会提示文件过大无法拷贝,下面为具体解决方法:...3: 查看自己的U盘的属性,文件类型是FAT32类型,拷贝4个G大小以上文件 4:利用“Windows+R键”调出“...
  • Linux文件拷贝——rsync

    千次阅读 2019-01-16 18:11:47
    -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件; -z 传输时压缩; -P 传输进度; -v 传输时的进度等信息,...
  • Qt pro文件自动拷贝文件到指定目录

    千次阅读 2019-10-18 10:02:30
    defineReplace(win32Path) {#定义替换 win32:1 ~= s|/|\\\\|g#将... contains(1, ^\\.*):pfx = \\#如果value存在于一个叫做variablename的变量的值的列表中,那么成功,否则失败。 else:pfx = segs = $$...
  • Mac 为什么拷贝文件到U盘

    千次阅读 2015-07-03 11:22:56
    平时用Mac传输文件都习惯直接用聊天软件截图发送,顺手便捷,但是文件过大,网速太慢时...Mac为什么能将文件拷贝到U盘呢?小编为大家总结了以下几种可能: 一、U盘锁定 1、出现的问题 图一:文件锁定 打开M
  • 集群间文件拷贝

    千次阅读 2018-12-09 10:20:07
    如果你伪分布式搭建成功,那么...集群间文件拷贝1.scp(secure copy)安全拷贝1.1定义:1.2基本语法: 1.scp(secure copy)安全拷贝 1.1定义: scp可以实现服务器与服务器之间的数据拷贝。(from server1 to ser...
  • java实现文件或文件夹的拷贝

    千次阅读 2019-01-19 21:11:24
    首先自己动手使用递归实现文件夹的拷贝,接着使用Commons-IO实现同样的效果 import org.apache.commons.io.FileUtils; public class FileTest { public static void main(String[] args) throws IOException {...
  • QT实现文件拷贝

    万次阅读 2019-05-14 09:50:02
    在工程应用中经常会出现文件拷贝 QT代码如下: copythread.cpp #include "copythread.h" #include <QDir> CopyThread::CopyThread(QObject *parent) : QThread(parent) { m_bStop = false; } void ...
  • docker 拷贝文件失败

    千次阅读 2019-06-21 13:51:47
    docker 拷贝文件报错 错误信息如下: $ docker cp test.txt mydocker:/opt ...因为 docker 1.6的版本还支持 docker cp 文件的功能,升级到最新的版本就可以了 更新前: $ docker -v Docker version 1.6.2...
  • Mac 终端拷贝文件到指定目录

    万次阅读 2019-09-06 17:56:07
    Mac 终端拷贝文件到指定目录 终端输入:sudo cp -r 源文件地址 目标地址 然后输入密码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,126,935
精华内容 450,774
关键字:

怎么设置文件不被拷贝