I write this example in c# using window form. Here is my winform GUI :
The sample Output
----------------------------------
Directory ListStart Path : C:\Android Project
----------------------------------
List file and directory
Directory and Subdirectory Name
C:\Android Project\FirstProject
C:\Android Project\FirstProject\.metadata
C:\Android Project\FirstProject\.metadata\.plugins
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.cdt.core
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.cdt.make.core
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.core.resources
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.core.runtime
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.debug.core
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.debug.ui
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.jdt.core
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.jdt.ui
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.ui.intro
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.ui.workbench
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.core.resources\.history
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.core.resources\.root
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.core.resources\.safetable
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.core.resources\.root\.indexes
C:\Android Project\FirstProject\.metadata\.plugins\org.eclipse.core.runtime\.settings
The Source Code
private void button1_Click(object sender, EventArgs e) { string fileNameOutput = "listofDirectory.txt"; string folderName = Path.GetDirectoryName(textBox1.Text); string[] directoryList = Directory.GetDirectories(textBox1.Text); string[] filesName = Directory.GetFiles(textBox1.Text); if (File.Exists(fileNameOutput)) { File.Delete(fileNameOutput); } StreamWriter sw = new StreamWriter(fileNameOutput); sw.WriteLine("----------------------------------"); sw.WriteLine("Directory List"); sw.WriteLine("Start Path : " + textBox1.Text); sw.WriteLine("----------------------------------"); sw.WriteLine("List file and directory"); if (filesName.Length > 0) { sw.WriteLine("Files Name"); } writeToFile(sw, filesName); if (directoryList.Length > 0) { sw.WriteLine("\r\nDirectory and Subdirectory Name"); } writeToFile(sw, directoryList); string[] list = directoryList; string[] _temp = null; int index = 0; for (int level = 0; level < directoryList.Length; level++) { if (HasSubfoldersAlternate(directoryList[level].ToString())) { writeSubfolder(directoryList[level].ToString(), sw); } } sw.Close(); DialogResult dr = MessageBox.Show("Open the saved file in an external viewer anyway?", "Open Rendered File", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { try { System.Diagnostics.Process.Start(fileNameOutput); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } public void writeSubfolder(string path,StreamWriter sw) { string[] list = Directory.GetDirectories(path); writeToFile(sw, list); for (int i = 0; i < list.Length; i++) { if(HasSubfoldersAlternate(list[i].ToString())) { writeSubfolder(list[i].ToString(),sw); } } } public void writeToFile(StreamWriter sw, string[] listtoWrite) { for (int i = 0; i < listtoWrite.Length; i++) { sw.WriteLine(listtoWrite[i].ToString()); } } bool HasSubfoldersAlternate(string path) { IEnumerable<string> subfolders = Directory.EnumerateDirectories(path); return subfolders != null; }
By Mohd Zulkamal
NOTE : – If You have Found this post Helpful, I will appreciate if you can Share it on Facebook, Twitter and Other Social Media Sites. Thanks =)
0 comments:
Post a Comment