首页 > 编程语言 >C#下载远程文件并打包

C#下载远程文件并打包

时间:2023-11-21 13:55:32浏览次数:33  
标签:string fileBytes C# System new using 远程 打包

C#下载远程文件并打包

using System;
using System.IO;
using System.IO.Compression;
using System.Net;

class Program
{
    static void Main()
    {
        string[] files = {

"http://www.xxx.com/xx1.xls",
"http://www.xxx.com/xx2.xls",
        };

        string output = "files.zip";

        using (FileStream newZipFile = new FileStream(output, FileMode.Create))
        {
            using (ZipArchive zipArchive = new ZipArchive(newZipFile, ZipArchiveMode.Create))
            {
                foreach (string fileURL in files)
                {
                    string fileName = Path.GetFileName(fileURL);
                    byte[] fileBytes = DownloadFile(fileURL);
                    if (fileBytes != null)
                    {
                        ZipArchiveEntry zipEntry = zipArchive.CreateEntry(fileName, CompressionLevel.Fastest);
                        using (Stream entryStream = zipEntry.Open())
                        {
                            entryStream.Write(fileBytes, 0, fileBytes.Length);
                        }
                    }
                }
            }
        }

        Console.WriteLine("Zipped File: " + output);
    }

    static byte[] DownloadFile(string url)
    {
        using (WebClient client = new WebClient())
        {
            try
            {
                return client.DownloadData(url);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return null;
            }
        }
    }
}

  

标签:string,fileBytes,C#,System,new,using,远程,打包
From: https://www.cnblogs.com/haoliansheng/p/17846418.html

相关文章

  • crunch 生成字典
    生成4位验证码crunch44-d2%-t%%%%>crunch.out1、各种符号%代表数字@代表小写字母,代表大写字符^代表特殊符号2、选项-t指定输出格式 -t  %%%%  输出四位纯数字-d允许相同元素最多连续出现的次数-d  2% ......
  • 科学计算时如何正确的使用超线程CPU——使用超线程CPU进行计算密集型任务时的注意事项
    现在这个AI火热的时代科学计算任务占比越来越大,但是平时使用时也有一些不为人注意的地方需要知道,本文就讨论一下使用超线程CPU时的注意事项。 超线程CPU就是现在的多线程CPU,以Intel和AMD的X86CPU为例,一个10个物理核心的CPU则有20个逻辑核心,其中多出来的10个核心就是超线程架构......
  • 【略读论文|时序知识图谱补全】DREAM: Adaptive Reinforcement Learning based on Att
    会议:SIGIR,时间:2023,学校:苏州大学计算机科学与技术学院,澳大利亚昆士兰布里斯班大学信息技术与电气工程学院,Griffith大学金海岸信息通信技术学院摘要:原因:现在的时序知识图谱推理方法无法生成显式推理路径,缺乏可解释性。方法迁移:由于强化学习(RL)用于传统知识图谱上的多跳推理开......
  • AtCoder Beginner Contest 329
    C-Countxxx题意是:给你一个字符串,求出字符串里面相同字母的子串数量思路:用map映射即可,取每个字母的最大长度,然后加起来usingnamespacestd;intmain(){ intn; strings; cin>>n>>s; map<char,int>mp; intct=1; for(inti=1;i<n;i++){ if(s[i]!=s[i-1]){ mp[s[......
  • 无涯教程-Interactive Ruby (irb) −函数
    交互式Ruby或irb是Ruby附带的交互式编程环境。它是由石冢启十先生撰写的。使用语法要调用它,请在shell或命令提示符下键入irb,然后开始输入Ruby语句和表达式。使用退出或退出退出irb。$irb[.rb][options][programfile][arguments]这是options的完整列表-Sr.No.Comma......
  • TCP 协议有哪些主要特点?
    TCP(TransmissionControlProtocol)是一种面向连接的、可靠的传输层协议,它在计算机网络中负责提供可靠的数据传输服务。以下是TCP协议的主要特点:面向连接:TCP是一种面向连接的协议,通信双方在传输数据之前需要先建立连接。连接建立后,数据的传输是可靠的。可靠性:TCP提供可靠的数据......
  • HDFS与MAPREDUCE操作
     HDFS文件操作在分布式文件系统上验证HDFS文件命令,如下。hadoopfs[genericOpitions][-ls<path>] //显示目标路径当前目录下的所有文件[-lsr<path>] //递归显示目标路径下的所有目录及文件(深度优先)[-du<path>] //以字节为单位显示目录中所有文件的大小,或该文......
  • 深度分析C#中Array的存储结构
    数组是C#中最基础的存储结构之一,很多的存储结构其底层的实现中都是基于数组实现的,如:List、Queue、Stack、Dictionary、Heap等等,如果大家读过这些类型的底层实现源码,其实就可以发现,这些存储结构都是在其内部维护了一个或多个数组。本文重点来学习一下数组存储结构的实现逻辑。......
  • pandas inplace
    当你使用inplace=True时,操作将直接在原始对象上进行,而不返回一个新的对象。当inplace=False或未指定时,通常会返回一个修改后的新对象,而原始对象保持不变 ......
  • django连接mysql pycharm操作sqlite和mysql
    1如果项目使用sqlite,不需要额外配置,直接操作即可2django默认情况链接mysql,用的驱动是mysqldb模块,python3.x以后,这个模块用不了了,咱们用的全都是pymysql,需要做个替换3showmigrations:查看哪些记录更改了,但是没有同步到数据库中3如果使用mysql,需要配置如下: -1配置文件中配置......