• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# IO.Directory类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.IO.Directory的典型用法代码示例。如果您正苦于以下问题:C# Directory类的具体用法?C# Directory怎么用?C# Directory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Directory类属于System.IO命名空间,在下文中一共展示了Directory类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: ReadDirectoryStructure

        private void ReadDirectoryStructure(Directory rootDirectory)
        {
            List<File> files = new List<File>();
              foreach (var f in rootDirectory.infos.EnumerateFiles())
              {
            File file = new File(f);
            try
            {
              file.file = TagLib.File.Create(file.infos.FullName);
              if (file.file is TagLib.Image.File)
            file.file = null;
            }
            catch (TagLib.UnsupportedFormatException)
            {
              file.file = null;
            }

            files.Add(file);
              }

              List<Directory> directories = new List<Directory>();
              foreach (var f in rootDirectory.infos.EnumerateDirectories())
            directories.Add(new Directory(f));

              rootDirectory.files = files;
              rootDirectory.directories = directories;

              foreach (var directory in directories)
              {
            ReadDirectoryStructure(directory);
              }
        }
开发者ID:blinkseb,项目名称:FMS,代码行数:32,代码来源:DiskStructure.cs


示例2: ResolveDirectory

        Directory ResolveDirectory(Directory directory, IEnumerable<string> children)
        {
            if (!children.Any())
                return directory;

            string childName = children.First();

            Directory info = directory.GetDirectories()
                .Where(x => string.Compare(x.Name.GetName(), childName, true) == 0)
                .SingleOrDefault();

            if (info != null)
            {
                return ResolveDirectory(info, children.Skip(1));
            }

            File file = directory.GetFiles()
                .Where(x => string.Compare(x.Name.GetName(), childName, true) == 0)
                .SingleOrDefault();

            if (file == null)
                throw new InvalidOperationException("Could not get directory: " + childName);

            if (Path.GetExtension(file.Name.GetName()) == ".zip")
            {
                var zipFileDirectory = new ZipFileDirectory(file.Name.Name);
                return ResolveDirectory(zipFileDirectory, children.Skip(1));
            }

            throw new InvalidOperationException("Could not resolve the rest of the path: " + childName);
        }
开发者ID:InfiniteComputingSystems,项目名称:Test,代码行数:31,代码来源:LocalFileSystemLocator.cs


示例3: Dotest

        private void Dotest(int ncats, int range)
        {
            AtomicInteger numCats = new AtomicInteger(ncats);
            Directory[] dirs = new Directory[2];
            for (int i = 0; i < dirs.Length; i++)
            {
                dirs[i] = NewDirectory();
                var tw = new DirectoryTaxonomyWriter(dirs[i]);
                ThreadClass[] addThreads = new ThreadClass[4];
                for (int j = 0; j < addThreads.Length; j++)
                {
                    addThreads[j] = new ThreadAnonymousInnerClassHelper(this, range, numCats, tw);
                }

                foreach (ThreadClass t in addThreads)
                {
                    t.Start();
                }
                foreach (ThreadClass t in addThreads)
                {
                    t.Join();
                }

                tw.Dispose();
            }

            var tw1 = new DirectoryTaxonomyWriter(dirs[0]);
            IOrdinalMap map = randomOrdinalMap();
            tw1.AddTaxonomy(dirs[1], map);
            tw1.Dispose();

            validate(dirs[0], dirs[1], map);

            IOUtils.Close(dirs);
        }
开发者ID:ChristopherHaws,项目名称:lucenenet,代码行数:35,代码来源:TestAddTaxonomy.cs


示例4: AzureDirectory

        /// <summary>
        /// Create an AzureDirectory
        /// </summary>
        /// <param name="storageAccount">storage account to use</param>
        /// <param name="containerName">name of container (folder in blob storage)</param>
        /// <param name="cacheDirectory">local Directory object to use for local cache</param>
        /// <param name="rootFolder">path of the root folder inside the container</param>
        public AzureDirectory(
            CloudStorageAccount storageAccount,
            string containerName = null,
            Directory cacheDirectory = null,
            bool compressBlobs = false,
            string rootFolder = null)
        {
            if (storageAccount == null)
                throw new ArgumentNullException("storageAccount");

            if (string.IsNullOrEmpty(containerName))
                _containerName = "lucene";
            else
                _containerName = containerName.ToLower();

            if (string.IsNullOrEmpty(rootFolder))
                _rootFolder = string.Empty;
            else
            {
                rootFolder = rootFolder.Trim('/');
                _rootFolder = rootFolder + "/";
            }

            _blobClient = storageAccount.CreateCloudBlobClient();
            _initCacheDirectory(cacheDirectory);
            this.CompressBlobs = compressBlobs;
        }
开发者ID:azure-contrib,项目名称:AzureDirectory,代码行数:34,代码来源:AzureDirectory.cs


示例5: LoadFiles

 public List<File> LoadFiles(Directory directory, Func<string, bool> filter, bool getDirectoryIcons = true)
 {
     RequestResult result = OAuthUtility.Get("https://api.dropbox.com/1/metadata/auto/", new HttpParameterCollection { { "path", directory.Path }, { "access_token", AccessToken } });
     if (IsSuccess(result)) {
         return null;
     }
     return result["contents"].Where(i => Convert.ToBoolean(i["is_dir"]) || filter(i["path"].ToString())).OrderBy(i => Path.GetFileName(i["path"].ToString())).OrderByDescending(i => Convert.ToBoolean(i["is_dir"])).Select(i => Convert.ToBoolean(i["is_dir"]) ? new Directory(directory, i["path"].ToString(), Path.GetFileName(i["path"].ToString()), GetIcon(i)) : new File(directory, i["path"].ToString(), Path.GetFileName(i["path"].ToString()), GetIcon(i))).ToList();
 }
开发者ID:GoshaFighten,项目名称:MVVMProject,代码行数:8,代码来源:DropboxProvider.cs


示例6: LoadFiles

 public List<File> LoadFiles(Directory directory, Func<string, bool> filter, bool getDirectoryIcons = true)
 {
     if (string.IsNullOrEmpty(directory.Path)) {
         return FileSystemHelper.GetFixedDrives().Select(d => new Directory(directory, d.Name, d.Name, FileSystemHelper.GetImage(d.Name, IconSizeType.Small, imgSize))).ToList<File>();
     }
     FileSystemEntryCollection collection = GetFileSystemEntries(directory.Path, IconSizeType.Small, imgSize, getDirectoryIcons);
     collection.ShowExtensions = true;
     return collection.Where(entry => entry is DirectoryEntry || filter(entry.Path)).Select(entry => { return entry is DirectoryEntry ? new Directory(directory, entry.Path, entry.Name, entry.Image) : new File(directory, entry.Path, entry.Name, entry.Image);}).ToList();
 }
开发者ID:GoshaFighten,项目名称:MVVMProject,代码行数:9,代码来源:FileSystemProvider.cs


示例7: CreateDirectory

        //public static void IORename(Directory current_directory, string old_name, string new_name)
        //{
        //    if (System.IO.File.Exists(current_directory.FullPhysicalPath + new_name))
        //    {
        //        // new file name is already taken
        //        throw (new System.Data.DuplicateNameException("File already exists"));
        //    }
        //    else
        //    {
        //        if (System.IO.Directory.Exists(current_directory.FullPhysicalPath + old_name))
        //        {
        //            // directory
        //            if (current_directory.Settings.Recursive && current_directory.Settings.AllowModifySubdirectories)
        //            {
        //                System.IO.Directory.Move(current_directory.FullPhysicalPath + old_name, current_directory.FullPhysicalPath + new_name);
        //            }
        //            else
        //            {
        //                throw (new System.Security.SecurityException("Modifying directories is forbidden in configuration"));
        //            }
        //        }
        //        else if (System.IO.File.Exists(current_directory.FullPhysicalPath + old_name))
        //        {
        //            // file
        //            string ext = new_name.Contains(".")?new_name.Substring(new_name.LastIndexOf(".")+1):String.Empty;
        //            // validate file type
        //            bool valid_ext = current_directory.Settings.AllowAnyFiletypes;
        //            if (!valid_ext)
        //            {
        //                foreach(string ft_str in current_directory.Settings.AllowedFileTypes)
        //                {
        //                    FileType ft = FileType.GetFileType(current_directory.Configuration, ft_str);
        //                    if (ft.Extensions.Contains(ext))
        //                    {
        //                        valid_ext = true;
        //                        break;
        //                    }
        //                }
        //            }
        //            if (valid_ext)
        //            {
        //                // extension is valid, proceed
        //                System.IO.File.Move(current_directory.FullPhysicalPath + old_name, current_directory.FullPhysicalPath + new_name);
        //            }
        //            else
        //            {
        //                throw (new ArgumentException("New file extension is not valid."));
        //            }
        //        }
        //        else
        //        {
        //            // not found
        //            throw (new FileNotFoundException("File or directory " + (current_directory.FullPhysicalPath + old_name) + " not found"));
        //        }
        //    }
        //}
        public static void CreateDirectory(Directory current_directory, string dirname)
        {
            FtpWebRequest reqFTP = _MakeFtpWebRequest(current_directory, dirname);

            // Specify the command to be executed.
            reqFTP.Method = WebRequestMethods.Ftp.MakeDirectory;

            // Execute the command.
            FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
            response.Close();
        }
开发者ID:balmerd,项目名称:FSFPL,代码行数:67,代码来源:File.cs


示例8: ZipDirectory

        /// <summary>
        /// Adds a directory to a specific ZipStream
        /// </summary>
        /// <param name="RootDirectory">the root directory</param>
        /// <param name="CurrentDirectory">the directory to push</param>
        /// <param name="zStream">stream to write to</param>
        /// <remarks>
        /// do not call this method directly, this method is designed be called in a recursive manor.
        /// </remarks>
        private void ZipDirectory(Directory RootDirectory, Directory CurrentDirectory, ZipOutputStream zStream)
        {
            foreach (var file in CurrentDirectory.Files)
            {
                ZipEntry fileEntry = new ZipEntry(file.FilePath);
                zStream.PutNextEntry(fileEntry);
                zStream.Write(file.FileContents, 0, file.FileContents.Length);
            }

            foreach (var subDirectory in CurrentDirectory.Directories)
                ZipDirectory(RootDirectory, subDirectory, zStream);
        }
开发者ID:aelagawy,项目名称:BlogEngine.NET,代码行数:21,代码来源:FileSystemUtilities.cs


示例9: CompressDirectory

 /// <summary>
 /// Compresses a directory using Zip compression into a specified directory
 /// </summary>
 /// <param name="ArchiveOutputLocation">the output directory path (including file name)</param>
 /// <param name="ArchiveDirectory">the Directory object to be compressed</param>
 /// <remarks>
 /// is recursive
 /// </remarks>
 public void CompressDirectory(string ArchiveOutputLocation, Directory ArchiveDirectory)
 {
     using (ZipOutputStream zStream = new ZipOutputStream(System.IO.File.Create(ArchiveOutputLocation)))
     {
         foreach (var file in ArchiveDirectory.Files)
         {
             ZipEntry fileEntry = new ZipEntry(file.FullPath);
             zStream.PutNextEntry(fileEntry);
             zStream.Write(file.FileContents, 0, file.FileContents.Length);
         }
         foreach (var directory in ArchiveDirectory.Directories)
             ZipDirectory(ArchiveDirectory, directory, zStream);
         zStream.Finish();
         zStream.Close();
     }
 }
开发者ID:aelagawy,项目名称:BlogEngine.NET,代码行数:24,代码来源:FileSystemUtilities.cs


示例10: BeforeClass

 public static void BeforeClass()
 {
     TestDoc = new Document();
     FieldInfos = new FieldInfos.Builder();
     DocHelper.SetupDoc(TestDoc);
     foreach (IndexableField field in TestDoc)
     {
         FieldInfos.AddOrUpdate(field.Name(), field.FieldType());
     }
     Dir = NewDirectory();
     IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetMergePolicy(NewLogMergePolicy());
     conf.MergePolicy.NoCFSRatio = 0.0;
     IndexWriter writer = new IndexWriter(Dir, conf);
     writer.AddDocument(TestDoc);
     writer.Dispose();
     FaultyIndexInput.DoFail = false;
 }
开发者ID:paulirwin,项目名称:lucene.net,代码行数:17,代码来源:TestFieldsReader.cs


示例11: AddDocs

        internal virtual void AddDocs(Random random, Directory dir, int ndocs, string field, string val, int maxTF, float percentDocs)
        {
            Analyzer analyzer = new AnalyzerAnonymousInnerClassHelper(this, random, val, maxTF, percentDocs);

            Document doc = new Document();

            doc.Add(NewStringField(field, val, Field.Store.NO));
            IndexWriter writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, analyzer).SetOpenMode(OpenMode_e.CREATE).SetMaxBufferedDocs(100).SetMergePolicy(NewLogMergePolicy(100)));

            for (int i = 0; i < ndocs; i++)
            {
                writer.AddDocument(doc);
            }

            writer.ForceMerge(1);
            writer.Dispose();
        }
开发者ID:paulirwin,项目名称:lucene.net,代码行数:17,代码来源:TestTermdocPerf.cs


示例12: CreateDirectory_Content_from_Readable_files_gets_written_to_disk

        public void CreateDirectory_Content_from_Readable_files_gets_written_to_disk()
        {
            var rootName = Path.GetRandomFileName();
            const string fileContent = "Hello World!";

            var directory = new Directory(rootName)
            {
                root => new TestReadableFile(root, s_File1, fileContent)
            };

            m_Instance.CreateDirectory(directory, Path.GetTempPath());

            var expectedFilePath = Path.Combine(Path.GetTempPath(), rootName, s_File1);

            Assert.True(NativeFile.Exists(expectedFilePath));
            Assert.Equal(fileContent, NativeFile.ReadAllText(expectedFilePath));
        }
开发者ID:ap0llo,项目名称:SyncTool,代码行数:17,代码来源:LocalItemCreatorTest.cs


示例13: CreateTemporaryDirectory_created_directory_gets_deleted_on_dispose

        public void CreateTemporaryDirectory_created_directory_gets_deleted_on_dispose()
        {
            // create temporary directory
            var dirName = Path.GetRandomFileName();
            var directory = new Directory(dirName);

            var createdDir = m_Instance.CreateTemporaryDirectory(directory);

            // assert that the directory was really created
            Assert.True(NativeDirectory.Exists(Path.Combine(Path.GetTempPath(), dirName)));

            // dispose the temporary directory
            createdDir.Dispose();

            // directory has to be gone now
            Assert.False(NativeDirectory.Exists(Path.Combine(Path.GetTempPath(), dirName)));
        }
开发者ID:ap0llo,项目名称:SyncTool,代码行数:17,代码来源:LocalItemCreatorTest.cs


示例14: AzureDirectory

        /// <summary>
        /// Create an AzureDirectory
        /// </summary>
        /// <param name="storageAccount">storage account to use</param>
        /// <param name="catalog">name of catalog (folder in blob storage)</param>
        /// <param name="cacheDirectory">local Directory object to use for local cache</param>
        public AzureDirectory(
            CloudStorageAccount storageAccount,
            string catalog = null,
            Directory cacheDirectory = null,
            bool compressBlobs = false)
        {
            if (storageAccount == null)
                throw new ArgumentNullException("storageAccount");

            if (string.IsNullOrEmpty(catalog))
                _catalog = "lucene";
            else
                _catalog = catalog.ToLower();

            _blobClient = storageAccount.CreateCloudBlobClient();
            _initCacheDirectory(cacheDirectory);
            this.CompressBlobs = compressBlobs;
        }
开发者ID:pebblecode,项目名称:AzureDirectory,代码行数:24,代码来源:AzureDirectory.cs


示例15: SetUp

 public override void SetUp()
 {
     base.SetUp();
     Directory = NewDirectory();
     IndexWriter writer = new IndexWriter(Directory, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetMergePolicy(NewLogMergePolicy()));
     //writer.setNoCFSRatio(0.0);
     //writer.infoStream = System.out;
     FieldType customType = new FieldType(TextField.TYPE_STORED);
     customType.Tokenized = false;
     customType.StoreTermVectors = true;
     for (int i = 0; i < NumDocs; i++)
     {
         Documents.Document doc = new Documents.Document();
         Field fld = NewField("field", English.IntToEnglish(i), customType);
         doc.Add(fld);
         writer.AddDocument(doc);
     }
     writer.Dispose();
 }
开发者ID:paulirwin,项目名称:lucene.net,代码行数:19,代码来源:TestMultiThreadTermVectors.cs


示例16: CreateDirectory

        public void CreateDirectory()
        {
            var rootName = Path.GetRandomFileName();

            var directory = new Directory(rootName)
            {
                root => new Directory(root, s_Dir1)
                {
                    dir1 => new EmptyFile(dir1, s_File1)
                },
                root => new Directory(root, s_Dir2)
            };


            m_Instance.CreateDirectory(directory, Path.GetTempPath());

            Assert.True(NativeDirectory.Exists(Path.Combine(Path.GetTempPath(), rootName)));
            Assert.True(NativeDirectory.Exists(Path.Combine(Path.GetTempPath(), rootName, s_Dir1)));
            Assert.True(NativeFile.Exists(Path.Combine(Path.GetTempPath(), rootName, s_Dir1, s_File1)));
            Assert.True(NativeDirectory.Exists(Path.Combine(Path.GetTempPath(), rootName, s_Dir2)));
        }
开发者ID:ap0llo,项目名称:SyncTool,代码行数:21,代码来源:LocalItemCreatorTest.cs


示例17: FileTransferer

        internal FileTransferer(Directory transferStarter, string localFile, string remoteFile, long totalBytes, TransferDirection dir)
        {
            m_transferStarter = transferStarter;
            m_transferDirection = dir;
            m_session = transferStarter.Session;
            m_localFile = localFile;
            m_remoteFile = remoteFile;
            m_totalBytes = totalBytes;

            if (dir == TransferDirection.Upload)
            {
                m_streamCopyRoutine = LocalToRemote;
                m_ftpFileCommandRoutine = m_session.ControlChannel.STOR;
                m_localFileOpenMode = FileMode.Open;
            }
            else
            {
                m_streamCopyRoutine = RemoteToLocal;
                m_ftpFileCommandRoutine = m_session.ControlChannel.RETR;
                m_localFileOpenMode = FileMode.Create;
            }
        }
开发者ID:avs009,项目名称:gsf,代码行数:22,代码来源:FileTransferer.cs


示例18: Load

        public static void Load(string filename)
        {
            var nbiFile = new XmlDocument();
            nbiFile.Load(filename);

            var dirsNode = nbiFile.GetElementsByTagName("directories")[0];
            if (dirsNode != null)
            {
                if (dirsNode.Attributes["root"] != null)
                    Directories.Root = dirsNode.Attributes["root"].Value;

                var dirNodes = nbiFile.GetElementsByTagName("directory");
                foreach (XmlNode dirNode in dirNodes)
                {
                    var key = BuildDirectoryKey(dirNode.Attributes["key"].Value);
                    Directories[key] = new Directory(Directories);

                    if (dirNode.Attributes["path"] != null)
                        Directories[key].Path = dirNode.Attributes["path"].Value;
                    if (dirNode.Attributes["file"] != null)
                        Directories[key].File = dirNode.Attributes["file"].Value;
                }
            }

            var cssNode = nbiFile.GetElementsByTagName("connectionStrings")[0];
            if (cssNode != null)
            {

                foreach (XmlNode csNode in cssNode.ChildNodes)
                {
                    var key = BuildConnectionStringKey(csNode.Name, csNode.Attributes["key"].Value);
                    ConnectionStrings[key] = new ConnectionString();

                    if (csNode.InnerXml != null)
                        ConnectionStrings[key].Value = csNode.InnerXml;
                }
            }
        }
开发者ID:Waltervondehans,项目名称:NBi,代码行数:38,代码来源:Project.cs


示例19: GetNumberOfSegments

 private int GetNumberOfSegments(Directory dir)
 {
     SegmentInfos infos = new SegmentInfos();
     infos.Read(dir);
     return infos.Size();
 }
开发者ID:ChristopherHaws,项目名称:lucenenet,代码行数:6,代码来源:TestBackwardsCompatibility.cs


示例20: CheckAllSegmentsUpgraded

 private int CheckAllSegmentsUpgraded(Directory dir)
 {
     SegmentInfos infos = new SegmentInfos();
     infos.Read(dir);
     if (VERBOSE)
     {
         Console.WriteLine("checkAllSegmentsUpgraded: " + infos);
     }
     foreach (SegmentCommitInfo si in infos.Segments)
     {
         Assert.AreEqual(Constants.LUCENE_MAIN_VERSION, si.Info.Version);
     }
     return infos.Size();
 }
开发者ID:ChristopherHaws,项目名称:lucenenet,代码行数:14,代码来源:TestBackwardsCompatibility.cs



注:本文中的System.IO.Directory类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# IO.DirectoryInfo类代码示例发布时间:2022-05-26
下一篇:
C# IO.BufferedStream类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap