System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
int fileCount; int filecount = files.Count; try { for(fileCount = 0;fileCount<files.Count;fileCount++) { //定义访问客户端上传文件的对象 System.Web.HttpPostedFile postedFile = files[fileCount]; string fileName, fileExtension; //取得上传得文件名 fileName = System.IO.Path.GetFileName(postedFile.FileName); if(fileName != String.Empty) { Response.Write(Server.MapPath("Uploadfile/") + fileName); postedFile.SaveAs(Server.MapPath("Uploadfile/") + fileName); } } } catch(System.Exception error) { }
5 、文件信息的获得
获取文件信息用到了 DirectoryInfo和 FileSystemInfo两个对象,通过他们可以得到文件和文件夹的相关信息,为进一步的对文件操作打下基础。代码:
DirectoryInfo dirInfo = new DirectoryInfo("c://"); //循环判断当前目录下的文件和目录 foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos()) { string FileName = ""; string FileExt = ""; int FileSize = 0; string FileModify = ""; //如果是文件 if(fsi is FileInfo) { fi = (FileInfo)fsi; //取得文件名 FileName = fi.Name; //取得文件的扩展名 FileExt = fi.Extension; //取得文件的大小 FileSize = fi.Length; //取得文件的最后修改时间 FileModify = fi.LastWriteTime; } else//否则是目录 { dir = (DirectoryInfo)fsi; //取得目录名 FileName = dir.Name; //取得目录的最后修改时间 FileModify = dir.LastWriteTime; //设置文件的扩展名为"文件夹" FileExt = "文件夹"; } }
6、文件的数据流操作 ()
a. 通过数据流读取和创建文件
FileStream fs = new FileStream(Server.MapPath("uploadfile")+"//logfile.txt", FileMode.OpenOrCreate, FileAccess.Read); StringBuilder output = new StringBuilder(); output.Length = 0; StreamReader read = new StreamReader(fs); read.BaseStream.Seek(0, SeekOrigin.Begin); while (read.Peek() > -1) { output.Append(read.ReadLine() + "/n"); } read.Close(); Response.Write( output.ToString());
7。通过数据流向文件中写入数据。
StreamWriter w = new StreamWriter(fs); w.BaseStream.Seek(0, SeekOrigin.End); w.Write("/nLog Entry : "); w.Write("{0} {1} /r/n", DateTime.Now.ToLongTimeString(),DateTime.Now.ToLongDateString()); w.Write(input + "/n"); w.Write("------------------------------------/n"); w.Flush(); w.Close();
