C#文件流
//处理文件流的命名空间 using System.IO //创建一个文件,File类,File类是静态类 string strFilePath="E:\\text.txt"; //给出一个文件路径 File.Create(strFilePath); //在指定路径下创建文件 Console.WriteLine("文件创建成功"); //删除指定路径文件 File.Delete(strFilePath); //没有权限或者路径文件不存在会出现异常 //创建文件夹,对于文件夹的静态操作类Directory string strDir="E:\\这是一个文件夹"; Directory.CreateDirectory(strDir); Console.WriteLine("文件夹创建成功"); //删除文件夹 Directory.Delete(strDir); Console.WriteLine("文件夹删除成功"); //判断文件是否存在 if(!File.Exists(strFilePath)) //不存在就创建 { File.Create(strFilePath); } //////--------------文件操作1 写入数据 //创建一个文件 string strFilePath="E:\\text.txt"; //给出一个文件路径 File.Create(strFilePath); //在指定路径下创建文件 //流:字符或者字节序列的集合 //FileStream fstream = new FileStream(strFilePath,FileMode.OpenOrCreate); //有就打开,没有就创建 StreamWriter swriter= new StreamWriter(strFilePath); swriter.Write("通过文件流写入的数据"); //流用完,关闭/释放 swriter.Close();//关闭流 //fstream.Close(); swriter.Dispose();//释放流的资源 //fstream.Dispose(); Console.WriteLine("写入数据完毕"); //读取文件中的数据 StreamReader reader=new StreamReader(strFilePath); string strRead =reader.ReadToEnd(); //读取整个文件的数据 Console.WriteLine("从文件中读取数据:"+strRead); reader.Close();//流关闭 reader.Dispose();//流释放 //////-----------------文件操作2 //简要流程 //文件流(字节或字符序列的集合) FileStream fstream=new FileStream("D://test.cs",FileMode.OpenOrCreate); StreamReader reader=new StreamReader(fstream); string strResult=reader.ReadToEnd(); Console.WriteLine("读出的数据:"+strResult); //流用完需要关闭 reader.Close(); fstream.Close(); //流用完需要释放 reader.Dispose(); fstream.Dispose(); //////第二种方式读取文件数据,转成字节码后然后再通过编码处理,后得到数据 FileStream fstream=new FileStream("D://test.cs",FileMode.OpenOrCreate); //构建字节码 Byte[] bytes=new Byte[fstream.Length]; //开辟相应的长度 //把流的数据读取到字节码中 fstream.Read(bytes,0,(int)fstream.Length); //从0的索引值开始 //此时需要转码操作,按照一定的编码格式将字节码转换成字符串 string strGetData=System.Text.Encoding.UTF8.GetString(bytes); Console.WriteLine("经过字节转码的数据"+strGetData); fstream.Close(); fstream.Dispose(); //通过字节转码将数据写入文件中 FileStream fstream=new FileStream("D://test.cs",FileMode.OpenOrCreate); string str=Console.ReadLine(); //字符串数据转成字节数组 Byte[] getBytes=System.Text.Encoding.UTF8.GetBytes(str); //字节数组写入文件流 fstream.Write(getBytes,0,getBytes.Length); fstream.Flush();//清除缓冲区 fstream.Close(); fstream.Dispose();