Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama Haskell Alt Klasörler de Dahil Olmak Üzere Herhangi Bir Dizindeki Dosyalar? Listele


Alt Klasörler de Dahil Olmak Üzere Herhangi Bir Dizindeki Dosyalar? Listele

Haskell programlama dilinde yaz?lm?? bu fonksiyonda verilen bir dizin için alt dizinleri de dahil olmak üzere taran?r ve sonuç olarak tüm dosyalar kodlar? yazd???n?z x.hs dosyas?n?n bulundu?u dizinde "dosyalar.txt" isimli dosyaya yaz?l?r. Bu dosyaya bakt???n?zda dosyalar?n hiyerar?ik bir biçimde ; yani herhangi bir dizine ait dosyalar o dizinin isminin sütun hizas?ndan biraz daha içerde olmak üzere yerle?tirilir. Bu sayede dosyalarin hangi dizine ait olduklar? da rahatça belirlenebilir.

 Ör:

dosyalarilistele "D:\\"

Program Kodu :

  1.  
  2. import System.IO
  3. import System.Environment
  4. import System.Directory
  5.  
  6. dosyalarilistele b =
  7.                   
  8.                    getCurrentDirectory >>= \curdir ->
  9.                    writeFile (curdir++"\\dosyalar.txt") "" >>
  10.                    getDirectoryContents b >>= \dosyalist ->
  11.                    setCurrentDirectory b >>
  12.                    listele "" dosyalist (curdir++"\\dosyalar.txt") >>
  13.                    return ()
  14.  
  15.  
  16. listele  _ [] _ = return ()
  17. listele dl (".":fs) h = listele dl fs h
  18. listele dl ("..":fs) h = listele dl fs h
  19. listele dl (f:fs) h =
  20.                       appendFile h (dl++f++"\n") >>
  21.                       doesDirectoryExist f >>= \dogru ->
  22.                       if dogru then
  23.                       getDirectoryContents f>>= \dosyaic ->
  24.                       setCurrentDirectory f >>
  25.                       listele (dl++" ") dosyaic h >>
  26.                       setCurrentDirectory ".." >>
  27.                       listele dl fs h
  28.                       else
  29.                       listele dl fs h
  30.  
 

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Cuma, 03 Ağustos 2012 01:06 )  
404 Not Found

Not Found

The requested URL was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.