日本xxxx18视频在线观看-日本xxxx1819-日本xxxwww在线观看-日本xxx-日本xx-日本www在线视频

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

c# 上傳壓縮包(Zip/Rar) 解壓,遍歷文件夾和文件

admin
2025年2月13日 17:15 本文熱度 829
:c# 上傳壓縮包(Zip/Rar) 解壓,遍歷文件夾和文件

/// <summary>

/// 解壓壓縮文件到指定目錄

/// <param name="zipFilePath">壓縮文件路徑</param>

/// <summary>

/// <returns></returns>

public void MuliteImport(string zipFilePath)

{

//解壓文件存放路徑

    string unZipDir = string.Format("{0}/{1}/{2}/{3}", Config.GetValue("AnnexesFile"), "Decompress", LoginUserInfo.Get().userId, DateTime.Now.ToString("yyyyMMdd"));

    string FileEextension = Path.GetExtension(zipFilePath);//文件名后綴

//如果解壓目錄不存在則創(chuàng)建

    if (!Directory.Exists(unZipDir))

    {

        Directory.CreateDirectory(unZipDir);

    }

    if (FileEextension.ToLower() == ".zip")

    {

        Decompress(unZipDir, zipFilePath);

    }

    else if (FileEextension.ToLower() == ".rar")

    {

        DeCompressRar(unZipDir, zipFilePath);

    }

}


#region 解壓縮文件

/// <summary>

/// 解壓zip格式的文件(在工程中引用SharpZipLib)

/// </summary>

/// <param name="unZipDir">解壓文件存放路徑</param>

/// <param name="zipFilePath">壓縮文件路徑</param>

/// <returns></returns>

public void Decompress(string unZipDir, string zipFilePath)

{

    unZipDir = unZipDir + "/zip";

    if (!Directory.Exists(unZipDir))

        Directory.CreateDirectory(unZipDir);//生成解壓目錄

    byte[] data = new byte[2048];

    int size = 2048;

//一個(gè)ZIP文件中的條目,可以理解為壓縮包里面的一個(gè)文件夾/文件

    ZipEntry theEntry = null;

//解壓縮輸出流,從壓縮包中一個(gè)接一個(gè)的讀出文檔。

    using (ZipInputStream inputStream = new ZipInputStream(File.OpenRead(zipFilePath)))

    {

        while ((theEntry = inputStream.GetNextEntry()) != null)

        {

            if (!string.IsNullOrEmpty(theEntry.Name))

            {

                string fileName = Path.Combine(unZipDir, theEntry.Name);

                fileName = fileName.Replace('/', '\\');


                if (fileName.EndsWith("\\"))

                {

                    Directory.CreateDirectory(fileName);

                    ec_library_catalogueEntity catalogue = new ec_library_catalogueEntity();

                    continue;

                }

                using (FileStream streamWriter = File.Create(fileName))

                {

                    while (true)

                    {

                        size = inputStream.Read(data, 0, data.Length);

                        if (size <= 0) break;

                        streamWriter.Write(data, 0, size);

                    }

                    streamWriter.Close();

                }

            }

        }

        inputStream.Close();

    }

}


/// <summary>

/// 獲取winrar的安裝位置

/// </summary>

/// <returns></returns>

public static string ExistsWinRar()

{

    string result = string.Empty;

    string key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe";

    RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(key);

    if (registryKey != null)

    {

        result = registryKey.GetValue("").ToString();

        registryKey.Close();

    }

    return result;

}


/// <summary>

/// 將格式為rar的壓縮文件解壓到指定的目錄(本機(jī)必須安裝winrar解壓軟件)

/// </summary>

/// <param name="unZipDir">解壓后要保存到的目錄</param>

/// <param name="zipFilePath">要解壓rar文件的路徑</param>

/// <returns></returns>

public void DeCompressRar(string unZipDir, string zipFilePath)

{

    var Compressfiles = new List<FileInfo>();

    string winrarPath = ExistsWinRar();

    if (!string.IsNullOrEmpty(winrarPath))

    {

        unZipDir = unZipDir + "/rar";

        if (!Directory.Exists(unZipDir))

            Directory.CreateDirectory(unZipDir);//生成解壓目錄

        string winrarDir = Path.GetDirectoryName(winrarPath);

        string commandOptions = string.Format("x {0} {1} -y", zipFilePath, unZipDir);

        ProcessStartInfo processStartInfo = new ProcessStartInfo();

        processStartInfo.FileName = Path.Combine(winrarDir, "rar.exe");

        processStartInfo.Arguments = commandOptions;

        processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;


        Process process = new Process();

        process.StartInfo = processStartInfo;

        process.StartInfo.UseShellExecute = false;

        process.StartInfo.CreateNoWindow = true;

        process.Start();

        var files = 0;

        while (process.HasExited)

        {

            files++;

        }

        process.WaitForExit();

        process.Close();

        var dir = new DirectoryInfo(unZipDir);

        FindFile(dir, Compressfiles);

    }

    else

    {

//message = "請(qǐng)先安裝winrar程序,再上傳文件";

    }

}


//查找所有文件

public void FindFile(DirectoryInfo di, List<FileInfo> files)

{

    FileInfo[] fis = di.GetFiles();

    files.AddRange(fis);

    DirectoryInfo[] dis = di.GetDirectories();

    for (int j = 0; j < dis.Length; j++)

    {

        FindFile(dis[j], files);

    }

}

#endregion


該文章在 2025/2/13 17:16:39 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲午夜成人 | 区芒果视频 | 国产视频一区二区三区 | 国产亚洲精品 | 国产精品精品 | 91福利精品第一导航 | 亚洲欧美自拍明星合 | 国产精品综合一区二区三区 | 国产精品美女一区二区视频 | 国产黄a三级三级三级看 | 国产乱子伦电视 | 国产日本一区二区三区 | 国产亚洲欧美人成在线 | 亚洲国产免费 | 亚洲2025日 | 国产永久观看在线 | 91热青草国产在线视频 | 巨大黑人极品video | 免费精品日本 | 欧洲成人午 | 国产免国产免费 | 憧憬成为魔法少女 | 日韩另类在线一区二区三区 | 日韩丝袜精品亚洲国产一区 | 国产日产精品 | 国产99在线| 国产黄大片在线观看好吊色 | 国产亚洲精品无 | 日韩欧美亚洲—区精选 | 91免费视频在线 | 国产又爽又黄的激情精品视频 | 99色色色资源站国产精品 | 亚洲色偷偷偷综合网另类小说 | 国产性生活视频 | 日韩国产欧美视 | 老熟女重囗味hdxx70星空 | 免费高清电影大全 | 成人精品欧美一区二区三区 | 日韩欧美激情兽交 | 国产精品亚洲在线播放 | 国产又黄又大又粗的视频 |