zoukankan      html  css  js  c++  java
  • 文件分割和合并

     1         /// <summary>
     2         /// 文件分割方法
     3         /// </summary>
     4         /// <param name="sourceFile">要分割的文件</param>
     5         /// <param name="desDir">目标目录</param>
     6         /// <param name="TempExtra">分割后的小文件名</param>
     7         public void SplitFile(string sourceFile,string desDir, string[] TempExtra)
     8         {
     9             int iFileSize = 9 * 1024;
    10             if (Directory.Exists(desDir))
    11                 Directory.Delete(desDir, true);
    12             else
    13                 Directory.CreateDirectory(desDir);
    14             FileStream SplitFileStream = new FileStream(sourceFile, FileMode.Open);
    15             BinaryReader SplitFileReader = new BinaryReader(SplitFileStream);
    16             byte[] TempBytes;
    17             int iFileCount = (int)(SplitFileStream.Length / iFileSize);
    18             if (SplitFileStream.Length % iFileSize != 0) iFileCount++;
    19             for (int i = 1; i <= iFileCount; i++)
    20             {
    21                 string sTempFileName = desDir + @"" + i.ToString().PadLeft(4, '0') + "." + TempExtra[TempExtra.Length - 1];
    22                 
    23                 FileStream TempStream = new FileStream(sTempFileName, FileMode.OpenOrCreate);
    24                 BinaryWriter TempWriter = new BinaryWriter(TempStream);
    25                 TempBytes = SplitFileReader.ReadBytes(iFileSize);
    26                 TempWriter.Write(TempBytes);
    27                 TempWriter.Close();
    28                 TempStream.Close();
    29             }
    30             SplitFileReader.Close();
    31             SplitFileStream.Close();
    32         }
    文件分割
     1          /// <summary>
     2         /// 文件合并
     3         /// </summary>
     4         /// <param name="sDirectoryName">要合并为一个文件的目录</param>
     5         /// <param name="desFile">要合并成的目标文件</param>
     6         public void MergeFile(string sDirectoryName, string desFile)
     7         {
     8             string[] arrFileNames = Directory.GetFiles(sDirectoryName);
     9             int iSumFile = arrFileNames.Length;
    10             FileStream AddStream = new FileStream(desFile, FileMode.OpenOrCreate);
    11             BinaryWriter AddWriter = new BinaryWriter(AddStream);
    12             for (int i = 0; i < iSumFile; i++)
    13             {
    14                 FileStream TempStream = new FileStream(arrFileNames[i], FileMode.Open);
    15                 BinaryReader TempReader = new BinaryReader(TempStream);
    16                 AddWriter.Write(TempReader.ReadBytes((int)TempStream.Length));
    17                 TempReader.Close();
    18                 TempStream.Close();
    19             }
    20             AddWriter.Close();
    21             AddStream.Close();
    22         }
    文件合并
  • 相关阅读:
    CF261E Maxim and Calculator
    USACO Section 2.1
    码工新人的成长升职之路~
    Skip level 1 on 1
    有效利用1 on 1
    [职场感言] 入职一年总结
    职场新人建议
    L1 正则为什么会使参数偏向稀疏
    Inception网络
    ResNet
  • 原文地址:https://www.cnblogs.com/ziranquliu/p/4749068.html
Copyright © 2011-2022 走看看