首页 > 其他 > 详细

文件流操作(FileStream,StreamReader,StreamWriter)

时间:2015-05-28 22:47:44      阅读:340      评论:0      收藏:0      [点我收藏+]

大文件拷贝:

技术分享
 1 /// <summary>
 2         /// 大文件拷贝
 3         /// </summary>
 4         /// <param name="sSource"></param>
 5         /// <param name="sTarget"></param>
 6         private static void CopyFile(string sSource, string sTarget)
 7         {
 8             using (FileStream fsRead=new FileStream(sSource,FileMode.Open,FileAccess.Read))
 9             {
10                 using (FileStream fsWrite=new FileStream(sTarget,FileMode.Create,FileAccess.Write))
11                 {
12                     double n = (double)fsRead.Length;
13                     Stopwatch sw = new Stopwatch();
14 
15                     sw.Start();
16                     while (true)
17                     {
18                         //定义一个6MB的缓冲区
19                         byte[] buffer = new byte[6 * 1024 * 1024];
20                         int m = fsRead.Read(buffer, 0, buffer.Length);
21 
22                         if (m==0)
23                         {
24                             break;
25                         }
26                         else
27                         {
28                             fsWrite.Write(buffer, 0, m);
29                             double dl = Math.Round(((double)fsWrite.Position / n) * 100, 1);
30                             Console.WriteLine("总进度:{0}%", dl);
31                         }
32                     }
33                     sw.Stop();
34                     double iTime = Math.Round((double)sw.ElapsedMilliseconds / 1000, 2);
35                     Console.WriteLine("总运行时间:"+iTime+"");
36                 }
37             }
38         }
View Code

FileStream是对字节(byte)的操作,上面这种方法拷贝电影文件,大的压缩文件等没问题,但是对于文本文件多半使用后面2个类StreamReader,StreamWriter,

技术分享
 1 #region 使用StreamWriter进行写
 2             using (StreamWriter sw = new StreamWriter(@"D:\demo.txt"))
 3             {
 4                 for (int i = 1; i <= 20; i++)
 5                 {
 6                     sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd") + "\t" + i.ToString());
 7                 }
 8             }
 9             Console.WriteLine("OK"); 
10             #endregion
View Code
技术分享
 1 #region 使用StreamReader进行读
 2             using (StreamReader sr = new StreamReader(@"D:\demo.txt"))
 3             {
 4                 string s = sr.ReadLine();
 5                 while (!string.IsNullOrEmpty(s))
 6                 {
 7                     Console.WriteLine(s);
 8                     s = sr.ReadLine();
 9                 }
10             } 
11             #endregion
View Code

 

文件流操作(FileStream,StreamReader,StreamWriter)

原文:http://www.cnblogs.com/chens2865/p/4537013.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!