对文件的操作心得

    技术2022-05-11  19

    <script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script> 对文件的操作一般需要用到流。因次实际上对文件操作的掌握也就反映了对数据流操作的熟练性。 对文件的读取: 对文件的读取用到了streamreader这个对象,用它实现了将流中的数据读出来。  StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default);  txtContent.Text = fileStream.ReadToEnd();  fileStream.Close(); 对文件的写入:相对应的,对文件的写入用到了streamWriter 这个对象,实际上实现的功能是将数据通过数据流放入相应的文件中。                                                                                                                       StreamWriter fileWrite = new StreamWriter(txtFilePath,false,Encoding.Default);  fileWrite.Write(Label1.Text);  fileWrite.Close(); 文件的上传:文件的上传的实现可以有两种方式,a,用htmlfile控件 b,直接用数据流来控制。其中多文件上传时的简便作发是用HttpFileCollection对象,然后再动态的将htmlfile控件加入到这个collection中,最后一起提交到后台,例如

     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();

     

    最新回复(0)