示例#1
0
        protected override void InternalDo()
        {
            openStream();
            try
            {
                if (Util.Helpers.TextFileExtensions.Contains(Path.GetExtension(filename).TrimStart('.')))
                {
                    // text file
                    file = new TextFile() { Filename = Path.GetFileName(filename), Data = new StreamReader(stream).ReadToEnd() };
                }
                else
                {
                    // binary file
                    int length = (int)stream.Length;
                    byte[] data = new byte[length];
                    stream.Read(data, 0, length);
                    file = new BinaryFile() { Filename = Path.GetFileName(filename), Data = data };
                }

                // add to project
                project.Files.Add(file);
            }
            finally
            {
                closeStream();
            }
        }
 public void WriteSupportFile(ISupportFile file, Stream stream)
 {
     switch (file.FileType)
     {
         case SupportFileType.Text:
             WriteSupportFile(file as TextFile, stream);
             break;
         case SupportFileType.Binary:
             WriteSupportFile(file as BinaryFile, stream);
             break;
     }
 }