static void Main(string[] args) { Console.WriteLine("Hello World!"); // How to iterate through a directory tree RecursiveFileSearch.Run(); StackBasedIteration.Run(@"C:\SAJ"); FileSysInfo.Run(); CreateFileOrFolder.Run(); SimpleFileCopy.Run(); SimpleFileMove.Run(); SimpleFileDelete.Run(); WriteTextFile.Run(); ReadFromFile.Run(); // How to create a key in the registry RegistryTest.Run(); }
public Task <List <FileSysInfo> > LsOrDir(string path) { DirectoryInfo directory = new DirectoryInfo(path); if (directory.Exists) { var files = directory.GetFileSystemInfos(); List <FileSysInfo> res = new List <FileSysInfo>(); foreach (var item in files) { FileSysInfo fileSysInfo = new FileSysInfo() { fileType = item is FileInfo ? FileType.File : FileType.Dir, Name = item.Name, FullName = item.FullName, CreateTime = item.CreationTime, LastAccessTime = item.LastAccessTime, LastWriteTime = item.LastWriteTime, Length = item is FileInfo wr ? wr.Length : 0 }; res.Add(fileSysInfo); } res.Sort((a, b) => { if (a.fileType == b.fileType) { return(0); } else if (a.fileType == FileType.Dir) { return(-1); } else { return(1); } }); FileSysInfo current = new FileSysInfo() { fileType = FileType.Dir, Name = ".", FullName = directory.FullName, CreateTime = directory.CreationTime, LastAccessTime = directory.LastAccessTime, LastWriteTime = directory.LastWriteTime, Length = 0 }; res.Insert(0, current); if (directory.Parent != null) { FileSysInfo parent = new FileSysInfo() { fileType = FileType.Dir, Name = "..", FullName = directory.Parent.FullName, CreateTime = directory.Parent.CreationTime, LastAccessTime = directory.Parent.LastAccessTime, LastWriteTime = directory.Parent.LastWriteTime, Length = 0 }; res.Insert(1, parent); } return(Task.FromResult(res)); } else { return(null); } }
public static object fileSys_GetData(HttpRequest request, AjaxGetDataHandlerEventArgs args) { ArrayList files = new ArrayList(); try { string serverPath = System.Web.HttpContext.Current.Server.MapPath("~"); string parentPath = args.ParentRow == null ? "" : (string)args.ParentRow["ParentPath"]; string curPath = args.ParentRow == null ? "" : (string)args.ParentRow["label"]; DirectoryInfo di = new DirectoryInfo(Cmn.pathCombine(serverPath, parentPath, curPath)); if (di.Exists) { string parentName = di.FullName; parentName = di.FullName.Substring(serverPath.Length); foreach (DirectoryInfo cdi in di.GetDirectories()) { FileSysInfo fs = new FileSysInfo(parentName, cdi.Name, true); if (string.Compare(cdi.Name, "App_Themes", true) == 0 || string.Compare(curPath, "App_Themes", true) == 0) fs.Icon = "images/theme.png"; files.Add(fs); } foreach (FileInfo cfi in di.GetFiles()) { FileSysInfo fs = new FileSysInfo(parentName, cfi.Name, false); if (File.Exists(Cmn.pathCombine(serverPath, "images", cfi.Extension.Substring(1) + ".png"))) fs.Icon = "images/" + cfi.Extension.Substring(1) + ".png"; files.Add(fs); } } } catch (Exception e) { FileSysInfo fs = new FileSysInfo("", e.ToString(), false); files.Add(fs); } return files; }