c# - C#中如何使用文件流复制文件

标签 c# .net filestream

我想使用文件流将文件从一个文件夹复制到另一个文件夹。如何实现这一点。当我尝试使用 file.copy 时,我正在获取另一个进程正在使用的文件,为了避免这种情况,我想使用使用c#的文件流。有人可以提供将文件从一个文件夹复制到另一个文件夹的示例吗?

最佳答案

为了复制,我使用了以下代码:-

 public static void Copy(string inputFilePath, string outputFilePath)
    {
        int bufferSize = 1024 * 1024;

        using (FileStream fileStream = new FileStream(outputFilePath, FileMode.OpenOrCreate, FileAccess.Write,FileShare.ReadWrite))
        //using (FileStream fs = File.Open(<file-path>, FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            FileStream fs = new FileStream(inputFilePath, FileMode.Open, FileAccess.ReadWrite);
            fileStream.SetLength(fs.Length);
            int bytesRead = -1;
            byte[] bytes = new byte[bufferSize];

            while ((bytesRead = fs.Read(bytes, 0, bufferSize)) > 0)
            {
                fileStream.Write(bytes, 0, bytesRead);
            }
        }
    }

关于c# - C#中如何使用文件流复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39591579/

相关文章:

c# - 有没有办法让本地 C++ API 和托管 C++\CLI API 包装它具有相同的 namespace 和类名称

c# - 返回具有动态选择类型的 List<type>,同时转换为该类型 (C#)

c# - 如何读取和更新多个文件

c# - 如何将CloudFileStream转换为FileStream?

c# - 文件流打开的 FileSystemWatcher 触发器

javascript - 如何在 Node.js 中读取非常大(> 1GB)的 tar.gz 文件?

c# - ASP.NET MVC3 Entity Framework - 指定为此 MSL 一部分的 EntitySet 'x' 在 MetadataWorkspace 中不存在

c# - 在开发期间管理多个应用程序配置文件

c# - 为什么 WeakReference.IsAlive 变为假?

c# - 这不是冗余代码有什么理由吗?