GetFiles() 공개 추상적인 메소드

public abstract GetFiles ( ) : System.IO.Abstractions.FileInfoBase[]
리턴 System.IO.Abstractions.FileInfoBase[]
예제 #1
0
 private static string TryReadNpmVersion(DirectoryInfoBase nodeDir)
 {
     var npmRedirectionFile = nodeDir.GetFiles("npm.txt").FirstOrDefault();
     if (npmRedirectionFile == null)
     {
         return null;
     }
     using (StreamReader reader = new StreamReader(npmRedirectionFile.OpenRead()))
     {
         return reader.ReadLine();
     }
 }
예제 #2
0
        internal static void Copy(string sourcePath,
                                  string destinationPath,
                                  DirectoryInfoBase sourceDirectory,
                                  DirectoryInfoBase destinationDirectory,
                                  Func<string, DirectoryInfoBase> createDirectoryInfo,
                                  bool skipScmFolder)
        {
            // Skip hidden directories and directories that begin with .
            if (skipScmFolder && IsSourceControlFolder(sourceDirectory))
            {
                return;
            }

            if (!destinationDirectory.Exists)
            {
                destinationDirectory.Create();
            }

            foreach (var sourceFile in sourceDirectory.GetFiles())
            {
                string path = GetDestinationPath(sourcePath, destinationPath, sourceFile);

                sourceFile.CopyTo(path, overwrite: true);
            }

            var destDirectoryLookup = GetDirectories(destinationDirectory);
            foreach (var sourceSubDirectory in sourceDirectory.GetDirectories())
            {
                DirectoryInfoBase targetSubDirectory;
                if (!destDirectoryLookup.TryGetValue(sourceSubDirectory.Name, out targetSubDirectory))
                {
                    string path = GetDestinationPath(sourcePath, destinationPath, sourceSubDirectory);
                    targetSubDirectory = createDirectoryInfo(path);
                }

                Copy(sourcePath, destinationPath, sourceSubDirectory, targetSubDirectory, createDirectoryInfo, skipScmFolder);
            }
        }
예제 #3
0
 internal static IDictionary<string, FileInfoBase> GetFiles(DirectoryInfoBase info)
 {
     if (info == null)
     {
         return null;
     }
     return info.GetFiles().ToDictionary(f => f.Name, StringComparer.OrdinalIgnoreCase);
 }
예제 #4
0
        private bool CollectFiles(DirectoryInfoBase directory, INode rootNode, GeneralTree<INode> tree)
        {
            List<INode> collectedNodes = new List<INode>();

            foreach (FileInfoBase file in directory.GetFiles().Where(file => this.relevantFileDetector.IsRelevant(file)))
            {
                INode node = null;
                try
                {
                    node = this.featureNodeFactory.Create(rootNode.OriginalLocation, file);
                }
                catch (Exception)
                {
                    if (Log.IsWarnEnabled)
                    {
                        // retrieving the name as file.FullName may trigger an exception if the FullName is too long
                        // so we retreive Name and DirectoryName separately
                        // https://github.com/picklesdoc/pickles/issues/199
                        var fullName = file.Name + " in directory " + file.DirectoryName;
                        Log.Warn("The file {0} will be ignored because it could not be read in properly", fullName);
                    }
                }

                if (node != null)
                {
                    collectedNodes.Add(node);
                }
            }

            foreach (var node in OrderFileNodes(collectedNodes))
            {
                tree.Add(node);
            }

            return collectedNodes.Count > 0;
        }
        Assembly tryResolveAssembly(DirectoryInfoBase directory, ResolveEventArgs args)
        {
            try {
                if (directory.Exists) {
                    var files = directory.GetFiles("*.dll")
                        .Concat(directory.GetFiles("*.exe"));

                    foreach (var f in files) {
                        var assemblyName = AssemblyName.GetAssemblyName(f.FullName);

                        if (assemblyName.FullName == args.Name) {
                            return Assembly.Load(assemblyName);
                        }
                    }
                }
            }
            catch (Exception ex) {
                log.WarnException("Could not resolve assembly: " + args.Name, ex);
            }

            return null;
        }
예제 #6
0
        private bool CollectFiles(DirectoryInfoBase directory, INode rootNode, GeneralTree<INode> tree)
      {
        List<INode> collectedNodes = new List<INode>();

        foreach (FileInfoBase file in directory.GetFiles().Where(file => this.relevantFileDetector.IsRelevant(file)))
        {
          INode node = null;
          try
          {
            node = this.featureNodeFactory.Create(rootNode.OriginalLocation, file);
          }
          catch (Exception)
          {
            if (log.IsWarnEnabled)
            {
              log.WarnFormat("The file, {0}, will be ignored because it could not be read in properly", file.FullName);
            }
          }

          if (node != null)
          {
            collectedNodes.Add(node);
          }
        }

        foreach (var node in OrderFileNodes(collectedNodes))
        {
          tree.Add(node);
        }

        return collectedNodes.Count > 0;
      }
예제 #7
0
        private bool CollectFiles(DirectoryInfoBase directory, INode rootNode, Tree tree)
        {
            List<INode> collectedNodes = new List<INode>();

            foreach (FileInfoBase file in directory.GetFiles().Where(file => this.relevantFileDetector.IsRelevant(file)))
            {
                INode node = this.featureNodeFactory.Create(rootNode.OriginalLocation, file);
                collectedNodes.Add(node);
            }

            foreach (var node in OrderFileNodes(collectedNodes))
            {
                tree.Add(node);
            }

            return collectedNodes.Count > 0;
        }