Example #1
0
 public WriteTextFile(IDirectoryFile directoryFile)
 {
     _directoryFile = directoryFile;
 }
Example #2
0
 public void AddFile(IDirectoryFile fi, string basePath)
 {
     _bw.Write(new TarHeader(fi, basePath).Bytes);
     BinaryReader br = new BinaryReader(fi.ContentStream);
     while (br.BaseStream.Position < br.BaseStream.Length)
         _bw.Write(br.ReadBytes(1024));
     AlignTo512(br.BaseStream.Length, false);
 }
Example #3
0
 public TarHeader(IDirectoryFile fi, string basePath)
     : this(fi.CreateDate,Utility.TraceFullFilePath(fi),basePath)
 {
     _size = fi.Length;
 }
Example #4
0
 public ReadFromFile(IDirectoryFile directoryFile)
 {
     _directoryFile = directoryFile;
 }
Example #5
0
 internal static string TraceFullFilePath(IDirectoryFile file)
 {
     return TraceFullDirectoryPath(file.Folder) + "/" + file.Name;
 }
 private void LocateObjectForPath(string path, IDirectoryFolder folder, out IDirectoryFolder resFold, out IDirectoryFile resFile)
 {
     string dirname = path.Substring(0, path.IndexOf("/"));
     path = path.Substring(dirname.Length + 1);
     IDirectoryFolder[] folders = folder.Folders;
     IDirectoryFile[] files = folder.Files;
     folder = null;
     foreach (IDirectoryFolder id in folders)
     {
         if (id.Name == dirname)
         {
             folder = id;
             break;
         }
     }
     resFile = null;
     resFold = null;
     bool isFile = false;
     if (folder == null)
     {
         foreach (IDirectoryFile fi in files)
         {
             if (fi.Name == dirname)
             {
                 isFile = true;
                 resFile = fi;
                 break;
             }
         }
     }
     if ((path == "/"||path=="") && !isFile)
         resFold = folder;
     if ((path != "/") && (resFold == null) && (resFile==null) && (folder!=null))
         LocateObjectForPath(path, folder, out resFold, out resFile);
         
 }