[ djmrky @ 08.05.2006. 14:03 ] @
| koristim SharpZip u alikaciji i potrebno mi je da spakujem citavu strukturu direktorijuma i fajlova.
Koji je najlaksi nacin da dobijem array od svih fajlova i poddirektorijuma kao sto vraca Directory.GetFiles u jednom direktorijumu?
naravno, u pitanju je c#
Hvala unapred |
[ hakiro @ 09.05.2006. 22:13 ] @
odgovor na pitanje oko zipa je ovo:
ICSharpCode.SharpZipLib.Zip.FastZip zip=new ICSharpCode.SharpZipLib.Zip.FastZip();
zip.CreateZip("c:\\temp.zip","c:\\temp",true,"");
a ako ti i dalje treba rekurzivan prikaz fajlova i foldera , kazi
[ djmrky @ 10.05.2006. 08:03 ] @
e da, to radi posao, samo sto malo manje imam kontrole kod tog FastZip-a, npr. nisam nasao da moze da se podesi nivo kompresije, a i ne mogu da prikazem progres pakovanja u toj varijati
Znaci da! I dalje mi treba rekurzivan prikaz fajlova i foldera (znanja nikad dosta), hocu da im znam broj i da onda pakujem jedan po jedan
Hvala puno na pomoci
[ hakiro @ 11.05.2006. 22:23 ] @
ovo radi
private void Form1_Load(object sender, System.EventArgs e)
{
System.IO.DirectoryInfo dir=new System.IO.DirectoryInfo("c:\\temp");
Iteriraj(dir);
}
void Iteriraj(System.IO.DirectoryInfo dir)
{
foreach(System.IO.FileInfo file in dir.GetFiles())
{
//dodajes u zip
string putanja=file.FullName;
}
foreach(System.IO.DirectoryInfo dirChild in dir.GetDirectories())
{
//radis sta radis
Iteriraj(dirChild);
}
}
a ovo vraca ArrayList u kome se nalaze svi FileInfo objekti u odredjenom folderu ( ukljucujuci poddirektorijume )
private void Form1_Load(object sender, System.EventArgs e)
{
ArrayList lista=new ArrayList();
System.IO.DirectoryInfo dir=new System.IO.DirectoryInfo("c:\\temp");
Iteriraj(dir,ref lista);
}
void Iteriraj(System.IO.DirectoryInfo dir,ref ArrayList lista)
{
foreach(System.IO.FileInfo file in dir.GetFiles())
{
lista.Add(file);
}
foreach(System.IO.DirectoryInfo dirChild in dir.GetDirectories())
{
//radis sta radis
Iteriraj(dirChild,ref lista);
}
}
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.