Asp.net源码专业站
首页->上传下载->精美的WEB在线文件管理源码>>FileManager/FileSystemManager.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:精美的WEB在线文件管理源码
当前文件:文件类型 WebFileManager/FileManager/FileSystemManager.cs[7K,2009-6-12 11:58:18]打开代码结构图
普通视图
		            
1using System; 2using System.Collections.Generic; 3using System.Text; 4using System.IO; 5using System.Web; 6 7//该源码首发自www.51aspx.com(51aspx.com) 8 9namespace FileManager 10{ 11 /// <summary> 12 /// FileSystemManager 13 /// </summary> 14 public class FileSystemManager 15 { 16 private static string strRootFolder; 17 18 static FileSystemManager() 19 { 20 strRootFolder = HttpContext.Current.Request.PhysicalApplicationPath; 21 strRootFolder = strRootFolder.Substring(0, strRootFolder.LastIndexOf(@"\")); 22 } 23 24 /// <summary> 25 /// 读根目录 26 /// </summary> 27 /// <returns></returns> 28 public static string GetRootPath() 29 { 30 return strRootFolder; 31 } 32 33 /// <summary> 34 /// 写根目录 35 /// </summary> 36 /// <param name="path"></param> 37 public static void SetRootPath(string path) 38 { 39 strRootFolder = path; 40 } 41 42 /// <summary> 43 /// 读取列表 44 /// </summary> 45 /// <returns></returns> 46 public static List<FileSystemItem> GetItems() 47 { 48 return GetItems(strRootFolder); 49 } 50 51 /// <summary> 52 /// 读取列表 53 /// </summary> 54 /// <param name="path"></param> 55 /// <returns></returns> 56 public static List<FileSystemItem> GetItems(string path) 57 { 58 string[] folders = Directory.GetDirectories(path); 59 string[] files = Directory.GetFiles(path); 60 List<FileSystemItem> list = new List<FileSystemItem>(); 61 foreach (string s in folders) 62 { 63 FileSystemItem item = new FileSystemItem(); 64 DirectoryInfo di = new DirectoryInfo(s); 65 item.Name = di.Name; 66 item.FullName = di.FullName; 67 item.CreationDate = di.CreationTime; 68 item.IsFolder = true; 69 list.Add(item); 70 } 71 foreach (string s in files) 72 { 73 FileSystemItem item = new FileSystemItem(); 74 FileInfo fi = new FileInfo(s); 75 item.Name = fi.Name; 76 item.FullName = fi.FullName; 77 item.CreationDate = fi.CreationTime; 78 item.IsFolder = true; 79 item.Size = fi.Length; 80 list.Add(item); 81 } 82 83 if (path.ToLower() != strRootFolder.ToLower()) 84 { 85 FileSystemItem topitem = new FileSystemItem(); 86 DirectoryInfo topdi = new DirectoryInfo(path).Parent; 87 topitem.Name = "[上一级]"; 88 topitem.FullName = topdi.FullName; 89 list.Insert(0, topitem); 90 91 FileSystemItem rootitem = new FileSystemItem(); 92 DirectoryInfo rootdi = new DirectoryInfo(strRootFolder); 93 rootitem.Name = "[根目录]"; 94 rootitem.FullName = rootdi.FullName; 95 list.Insert(0, rootitem); 96 97 } 98 return list; 99 } 100 101 /// <summary> 102 /// 读取文件夹 103 /// </summary> 104 /// <param name="name"></param> 105 /// <param name="parentName"></param> 106 public static void CreateFolder(string name, string parentName) 107 { 108 DirectoryInfo di = new DirectoryInfo(parentName); 109 di.CreateSubdirectory(name); 110 } 111 112 /// <summary> 113 /// 删除文件夹 114 /// </summary> 115 /// <param name="path"></param> 116 public static void DeleteFolder(string path) 117 { 118 Directory.Delete(path); 119 } 120 121 /// <summary> 122 /// 移动文件夹 123 /// </summary> 124 /// <param name="oldPath"></param> 125 /// <param name="newPath"></param> 126 public static void MoveFolder(string oldPath, string newPath) 127 { 128 Directory.Move(oldPath, newPath); 129 } 130 131 /// <summary> 132 /// 创建文件 133 /// </summary> 134 /// <param name="filename"></param> 135 /// <param name="path"></param> 136 public static void CreateFile(string filename, string path) 137 { 138 FileStream fs = File.Create(path + "\\" + filename); 139 fs.Close(); 140 } 141 142 /// <summary> 143 /// 创建文件 144 /// </summary> 145 /// <param name="filename"></param> 146 /// <param name="path"></param> 147 /// <param name="contents"></param> 148 public static void CreateFile(string filename, string path, byte[] contents) 149 { 150 FileStream fs = File.Create(path + "\\" + filename); 151 fs.Write(contents, 0, contents.Length); 152 fs.Close(); 153 } 154 155 /// <summary> 156 /// 删除文件 157 /// </summary> 158 /// <param name="path"></param> 159 public static void DeleteFile(string path) 160 { 161 File.Delete(path); 162 } 163 164 /// <summary> 165 /// 移动文件 166 /// </summary> 167 /// <param name="oldPath"></param> 168 /// <param name="newPath"></param> 169 public static void MoveFile(string oldPath, string newPath) 170 { 171 File.Move(oldPath, newPath); 172 } 173 174 /// <summary> 175 /// 读取文件信息 176 /// </summary> 177 /// <param name="path"></param> 178 /// <returns></returns> 179 public static FileSystemItem GetItemInfo(string path) 180 { 181 FileSystemItem item = new FileSystemItem(); 182 if (Directory.Exists(path)) 183 { 184 DirectoryInfo di = new DirectoryInfo(path); 185 item.Name = di.Name; 186 item.FullName = di.FullName; 187 item.CreationDate = di.CreationTime; 188 item.IsFolder = true; 189 item.LastAccessDate = di.LastAccessTime; 190 item.LastWriteDate = di.LastWriteTime; 191 item.FileCount = di.GetFiles().Length; 192 item.SubFolderCount = di.GetDirectories().Length; 193 } 194 else 195 { 196 FileInfo fi = new FileInfo(path); 197 item.Name = fi.Name; 198 item.FullName = fi.FullName; 199 item.CreationDate = fi.CreationTime; 200 item.LastAccessDate = fi.LastAccessTime; 201 item.LastWriteDate = fi.LastWriteTime; 202 item.IsFolder = false; 203 item.Size = fi.Length; 204 } 205 return item; 206 } 207 208 /// <summary> 209 /// 复制文件夹 210 /// </summary> 211 /// <param name="source"></param> 212 /// <param name="destination"></param> 213 public static void CopyFolder(string source, string destination) 214 { 215 String[] files; 216 if (destination[destination.Length - 1] != Path.DirectorySeparatorChar) 217 destination += Path.DirectorySeparatorChar; 218 if (!Directory.Exists(destination)) Directory.CreateDirectory(destination); 219 files = Directory.GetFileSystemEntries(source); 220 foreach (string element in files) 221 { 222 if (Directory.Exists(element)) 223 CopyFolder(element, destination + Path.GetFileName(element)); 224 else 225 File.Copy(element, destination + Path.GetFileName(element), true); 226 } 227 } 228 } 229}
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:精美的WEB在线文件管理源码
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146