zoukankan      html  css  js  c++  java
  • 在程序里面(服务器端)调用Winrar压缩文件的方法?另寻求一条语句转换的方法。vb.net到C#。

     1case("zip"):   // 压缩
     2    string[] zip_tmp = this.name1.Value.Split(new char[]{'*'});
     3    string zip_tmp1= zip_tmp[zip_tmp.Length-1];
     4    if(this.CheckName(zip_tmp1))     //检测文件命名的合法性
     5    {
     6        string zip_tmp2=zip_tmp1.Replace(".zip","");
     7
     8        //移除“.zip”后缀,并防止名称重复
     9
    10        this.NameExisted(1,ServerDir+@"personal\"+zip_tmp2+".zip",out zip_tmp2);
    11        StreamWriter zip_sr =File.CreateText(ServerDir+"list.dat");
    12        zip_sr.Write("");
    13        zip_sr.Close();
    14        for(int m =0;m<zip_tmp.Length-1;m++)
    15        {
    16            //以系统默认的 ANSI 编码创建压缩文件列表
    17
    18            StreamWriter zip_sw2 =new StreamWriter(ServerDir+"list.dat",true,System.Text.Encoding.Default);   
    19            zip_sw2.WriteLine(ServerDir+zip_tmp[m]);
    20            zip_sw2.Close();
    21        }

    22        System.Diagnostics.Process Process1=new System.Diagnostics.Process();
    23        Process1.StartInfo.FileName=ServerDir+"Winrar.exe";
    24        Process1.StartInfo.Arguments=" a  -ep1 -inul -y "+zip_tmp2+@" @"+ServerDir+"list.dat";
    25        Process1.Start();    //进行压缩
    26        while(!Process1.HasExited)          //等待压缩的完成
    27        {
    28        }

    29    }

    30    break;
    31case("unzip"):  //解压缩
    32    string [] un_tmp =this.name1.Value.Split(new char[]{'*'});
    33    int i2=0;         //防止名称冲突的参数
    34    foreach(string un_tmp2 in un_tmp)
    35    {
    36        if(un_tmp2!="")
    37        {
    38            string un_time=System.DateTime.Now.ToShortDateString()+"-"+System.DateTime.Now.Hour.ToString()+"-"+System.DateTime.Now.Minute.ToString()+"-"+(System.DateTime.Now.Second+i2).ToString();
    39            string un_dir =ServerDir+@"personal\Unzip-"+un_time;
    40            Directory.CreateDirectory(un_dir);              //创建以解压时间为名的文件夹
    41            StreamWriter un_sw=File.AppendText(ServerDir+"DirState.dat");
    42            un_sw.Write(@"personal\Unzip-"+un_time+"*");
    43            un_sw.Close();
    44            System.Diagnostics.Process Process2=new System.Diagnostics.Process();
    45            Process2.StartInfo.FileName=ServerDir+"Winrar.exe";
    46            Process2.StartInfo.Arguments=" x -inul -y "+ServerDir+un_tmp2+" "+un_dir;
    47            Process2.Start();        //进行解压
    48            while(!Process2.HasExited)           //等待解压的完成
    49            {
    50            }

    51            i2++;
    52        }

    53    }

    54    break;
    55
    http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx
  • 相关阅读:
    [解题报告]256 Quirksome Squares
    [解题报告]369 Combinations
    [解题报告]10696 f91
    [解题报告]483 Word Scramble
    [解题报告]10041 Vito's Family
    [解题报告]686 Goldbach's Conjecture (II)
    [解题报告]151 Power Crisis
    [解题报告]10079 Pizza Cutting
    [解题报告]495 Fibonacci Freeze
    [解题报告]541 Error Correction
  • 原文地址:https://www.cnblogs.com/JimZhang/p/415883.html
Copyright © 2011-2022 走看看