﻿
{"id":544,"date":"2012-04-29T00:01:46","date_gmt":"2012-04-29T00:01:46","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=544"},"modified":"2012-05-18T09:29:13","modified_gmt":"2012-05-18T09:29:13","slug":"cta-directory-sinifi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/cta-directory-sinifi\/","title":{"rendered":"Directory  S\u0131n\u0131f\u0131"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Klas\u00f6r olu\u015fturma,silme,ta\u015f\u0131ma ve kopyalama gibi i\u015flemleri Directory s\u0131n\u0131f\u0131 yapmam\u0131z\u0131 sa\u011flar.Static bir s\u0131n\u0131ft\u0131r.Directory s\u0131n\u0131f\u0131n\u0131n t\u00fcm elemanlar\u0131 metodlardan olu\u015fmaktad\u0131r.Yani property(\u00f6zellik) mevcut de\u011fildir.Directory s\u0131n\u0131f\u0131n\u0131 kullanabilmek i\u00e7in, <span style=\"color: #ff9900;\"><em>System.IO<\/em><\/span> namespaceini projenize eklemeniz gerekmektedir.<br \/>\n<!--more--><br \/>\n\u015eimdi klas\u00f6r varm\u0131 yokmu onu kontrol edelim ve klas\u00f6r olu\u015fturmay\u0131 g\u00f6relim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            if (!Directory.Exists(&quot;C:\\\\Dosya&quot;))\r\n\/\/Exits metodu ile klas\u00f6r var m\u0131 yok mu kontrol edilir.Varsa True, yoksa False d\u00f6ner.\r\n            {\r\n                Directory.CreateDirectory(&quot;C:\\\\Dosya&quot;);\r\n\/\/CreateDirectory metodu ile klas\u00f6r olu\u015fturulur.\r\n            }\r\n<\/pre>\n<p>\u015eimdide bir klas\u00f6r\u00fcn alt klas\u00f6rlerine ula\u015fmay\u0131 g\u00f6relim.Formumuza ListBox nesnesi ekleyerek, alt klas\u00f6rleri bu ListBox nesnesinde g\u00f6sterelim.Ben C:\\Dosya dizininin alt\u0131na, &#8220;A&#8221;,&#8221;B&#8221;,&#8221;C&#8221; ve &#8220;D&#8221; ad\u0131nda klas\u00f6rler olu\u015fturdum.\u015eimdi bunlara ula\u015fal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            string&#x5B;] AltKlasorler = Directory.GetDirectories(&quot;C:\\\\Dosya&quot;);\r\n\/\/GetDirectories metodu ile C:\\Dosya klas\u00f6r\u00fcndeki alt klas\u00f6rlere ula\u015fabiliyoruz.\r\n\/\/Alt klas\u00f6r isimleri string dizisi olarak geri d\u00f6nd\u00fc\u011f\u00fcnden string dizisine att\u0131m.\r\n            for (int i = 0; i &lt; AltKlasorler.Length; i++)\r\n            {\r\n                listBox1.Items.Add(AltKlasorler&#x5B;i]);\r\n            }\r\n<\/pre>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/lstdirectory.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-545\" title=\"lstdirectory\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/lstdirectory.png\" alt=\"\" width=\"148\" height=\"79\" \/><\/a><br \/>\nAlt klas\u00f6rlerin ListBox nesnesinde g\u00f6r\u00fcld\u00fc\u011f\u00fc hali.<br \/>\nGetDirectories metodunun bir di\u011fer overload\u0131ndaki \u00f6zellik ise, belirli \u015fartlara uygun arama i\u015flemi yapabiliriz.<br \/>\n\u00d6rnek olarak,<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            string&#x5B;] AltKlasorler = Directory.GetDirectories(&quot;C:\\\\Dosya&quot;,&quot;A*&quot;);\r\n            for (int i = 0; i &lt; AltKlasorler.Length; i++)\r\n            {\r\n                listBox1.Items.Add(AltKlasorler&#x5B;i]);\r\n            }\r\n<\/pre>\n<p>yukar\u0131daki gibi bir i\u015flem uygularsak,isminin ilk harfi &#8220;A&#8221; olan, gerisi m\u00fchim olmayan alt klas\u00f6r isimlerini getirecektir.Bu durumda ListBox nesnemizde sadece &#8220;A&#8221; klas\u00f6r\u00fc g\u00f6z\u00fckecektir.<\/p>\n<hr \/>\n<p>\u00c7al\u0131\u015fan program\u0131n yolunu, \u00e7al\u0131\u015ft\u0131\u011f\u0131 dizini \u00f6\u011frenmek istiyorsak, GetCurrentDirectory() metodunu kullanmal\u0131y\u0131z.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nMessageBox.Show(Directory.GetCurrentDirectory());\r\n<\/pre>\n<p>Yukar\u0131daki kodu \u00e7al\u0131\u015ft\u0131r\u0131rsan\u0131z e\u011fer, &#8220;C:\\Users\\Gen\u00e7ay\\documents\\visual studio 2010\\Projects\\Directory\\Directory\\bin\\Debug&#8221; gibi bir yol ile kar\u015f\u0131la\u015fabilirsiniz.Demek ki, benim \u015fuanda kodlar\u0131m\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m program\u0131m\u0131n yolu bu yolmu\u015f \ud83d\ude42<\/p>\n<hr \/>\n<p>Klas\u00f6r alt\u0131ndaki dosyalar\u0131 listeletmek i\u00e7in, GetFiles() metodunu kullanmal\u0131y\u0131z.<br \/>\nC:\\Dosya klas\u00f6r\u00fcn\u00fcn alt\u0131na, &#8220;E.txt&#8221;,&#8221;F.txt&#8221;,&#8221;G.pub&#8221; ve &#8220;H.zip&#8221; isminde d\u00f6rttane dosya ekliyorum.<br \/>\n\u015eimdi bu dosyalar\u0131 okuyup ListBox nesnemize yazd\u0131ral\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            string&#x5B;] KlasorIcindekiDosyalar = Directory.GetFiles(&quot;C:\\\\Dosya&quot;);\r\n            for (int i = 0; i &lt; KlasorIcindekiDosyalar.Length; i++)\r\n            {\r\n                listBox1.Items.Add(KlasorIcindekiDosyalar&#x5B;i]);\r\n            }\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z zaman ListBox nesnemizin son g\u00f6r\u00fcnt\u00fcs\u00fc a\u015fa\u011f\u0131daki gibi olacakt\u0131r.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/dosyalar.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-547\" title=\"dosyalar\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/dosyalar.png\" alt=\"\" width=\"109\" height=\"63\" \/><\/a><br \/>\nGetFiles() metodunun bir di\u011fer overload\u0131ndan da bahsetmek istiyorum.Klas\u00f6r\u00fcn i\u00e7indeki dosyalar\u0131 listelerken belirli bir \u015farta g\u00f6re listeleme yapabiliriz.\u00d6rne\u011fin, a\u015fa\u011f\u0131daki kod blo\u011fu, ad\u0131 ne olursa olsun ancak uzant\u0131s\u0131 .txt olan dosyalar\u0131 getirecektir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            string&#x5B;] KlasorIcindekiDosyalar = Directory.GetFiles(&quot;C:\\\\Dosya&quot;,&quot;*.txt&quot;);\r\n            for (int i = 0; i &lt; KlasorIcindekiDosyalar.Length; i++)\r\n            {\r\n                listBox1.Items.Add(KlasorIcindekiDosyalar&#x5B;i]);\r\n            }\r\n<\/pre>\n<hr>\n<p>Bir klas\u00f6r\u00fcn k\u00f6k dizinini, daha a\u00e7\u0131k \u015fekilde k\u00f6k s\u00fcr\u00fcc\u00fcs\u00fcn\u00fc bulmak istedi\u011fimizde, GetDirectoryRoot() metodunu kullan\u0131yoruz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nDirectory.GetDirectoryRoot(&quot;C:\\\\Dosya&quot;)\r\n\/*--*\/\r\nDirectory.GetDirectoryRoot(&quot;C:\\\\Dosya\\\\A&quot;)\r\n<\/pre>\n<p>Yukar\u0131daki kodlar\u0131n \u00e7\u0131kt\u0131s\u0131 C:\\ olacakt\u0131r.<\/p>\n<hr>\n<p>Bir \u00fcst klas\u00f6r\u00fcn ad\u0131n\u0131 bulmak i\u00e7in ise, GetParent() metodunu kullanaca\u011f\u0131z.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nDirectory.GetParent(&quot;C:\\\\Dosya\\\\A&quot;)\r\n<\/pre>\n<p>Yukar\u0131daki kodu yazd\u0131r\u0131rsak e\u011fer, C:\\Dosya yaz\u0131s\u0131n\u0131 g\u00f6rece\u011fiz.<\/p>\n<hr>\n<p>Son olarak bilgisayar\u0131n s\u00fcr\u00fcc\u00fclerine eri\u015fmeyi g\u00f6relim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            string&#x5B;] TumSuruculer = Directory.GetLogicalDrives();\r\n            for (int i = 0; i &lt; TumSuruculer.Length; i++)\r\n            {\r\n            listBox1.Items.Add(TumSuruculer&#x5B;i]);\r\n            }\r\n<\/pre>\n<p>GetLogicalDrives metodu ile bilgisayar\u0131n\u0131zdaki t\u00fcm s\u00fcr\u00fcc\u00fcleri string[] dizisi \u015feklinde alabiliyorsunuz.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Klas\u00f6r olu\u015fturma,silme,ta\u015f\u0131ma ve kopyalama gibi i\u015flemleri Directory s\u0131n\u0131f\u0131 yapmam\u0131z\u0131 sa\u011flar.Static bir s\u0131n\u0131ft\u0131r.Directory s\u0131n\u0131f\u0131n\u0131n t\u00fcm elemanlar\u0131 metodlardan olu\u015fmaktad\u0131r.Yani property(\u00f6zellik) mevcut de\u011fildir.Directory s\u0131n\u0131f\u0131n\u0131 kullanabilmek i\u00e7in, System.IO namespaceini projenize eklemeniz gerekmektedir.<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,12],"tags":[221],"class_list":["post-544","post","type-post","status-publish","format-standard","hentry","category-asp-net","category-c-sharp-c","tag-directory"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=544"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/544\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}