Exemplo n.º 1
0
 public cape.File writeToDir(cape.File dir, bool fullPath = true, bool overwrite = true)
 {
     if (!(dir != null))
     {
         return(null);
     }
     if (!(name != null))
     {
         return(null);
     }
     cape.File path = null;
     if (fullPath == false)
     {
         string nn = null;
         var    r  = cape.String.lastIndexOf(name, '/');
         if (r < 1)
         {
             nn = name;
         }
         else
         {
             nn = cape.String.subString(name, r + 1);
         }
         if (object.Equals(nn, null) || cape.String.getLength(nn) < 1)
         {
             return(null);
         }
         path = dir.entry(nn);
     }
     else
     {
         path = dir;
         var array = cape.String.split(name, '/');
         if (array != null)
         {
             var n = 0;
             var m = array.Count;
             for (n = 0; n < m; n++)
             {
                 var x = array[n];
                 if (x != null)
                 {
                     if (x != null && cape.String.getLength(x) > 0)
                     {
                         path = path.entry(x);
                     }
                 }
             }
         }
         var dd = path.getParent();
         if (!dd.isDirectory())
         {
             dd.createDirectoryRecursive();
         }
         if (!dd.isDirectory())
         {
             return(null);
         }
     }
     if (overwrite == false)
     {
         if (path.exists())
         {
             return(null);
         }
     }
     if (!writeToFile(path))
     {
         return(null);
     }
     return(path);
 }