博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 文件操作总结
阅读量:4614 次
发布时间:2019-06-09

本文共 5178 字,大约阅读时间需要 17 分钟。

一、需求分析

  1.将信息记录到本地记事本中。

  2.将记录的信息读取出来。

  3.计算出某个文件夹下所有后缀名为txt的数量和dll的数量。

  4.从网络上下载文件。

二、二话不说上代码

1 using System; 2 using System.IO; 3 using System.Text; 4  5 namespace FileOperation 6 { 7     class Program 8     { 9         static void Main(string[] args)10         {11             SaveLoginInfo();12             ReadLoginInfo();13             Ergodic();14         }15 16 17         /// 18         /// 本地文件中保存登录信息19         /// 20         static void SaveLoginInfo()21         {22             #region 在本地保存登录信息23             //判断文件是否存在24             string loginDicPath = "E:\\Login";25             if (!Directory.Exists(loginDicPath))26             {27                 Directory.CreateDirectory(loginDicPath);28             }29             string loginFilePath = loginDicPath + "\\login.txt";30             //可以指定盘符,也可以指定任意文件名,还可以为word等文件31             FileStream fs = new FileStream(loginFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);32             //创建写入流33             StreamWriter sw = new StreamWriter(fs);34             string testContent = "用户已登录";35             sw.WriteLine(testContent);36             sw.Close();37             #endregion38         }39 40         /// 41         /// 读取登录信息42         /// 43         static void ReadLoginInfo()44         {45             string loginFilePath = "E:\\Login\\login.txt";46             if (File.Exists(loginFilePath))47             {48                 StreamReader st = new StreamReader(loginFilePath, Encoding.UTF8);49                 string content = st.ReadToEnd();50                 st.Close();51                 Console.WriteLine(content);52             }53         }54 55         /// 56         /// 遍历文件夹,计算文件夹中txt的数量和dll的数量57         /// 58         static void Ergodic()59         {60             string loginDicPath = "E:\\testDic";61             DirectoryInfo root = new DirectoryInfo(loginDicPath);62             DirectoryInfo[] dics = root.GetDirectories();63             int txtNum = 0;64             int dllNum = 0;65             foreach (DirectoryInfo info in dics)66             {67                 string path = info.FullName;68                 //获取该文件夹下的所有文件69                 DirectoryInfo root_Children = new DirectoryInfo(path);70                 FileInfo[] filesChildren = root_Children.GetFiles();71                 //获取完整路径名72                 foreach (FileInfo fileInfo in filesChildren)73                 {74                     if (fileInfo.Extension == ".txt")75                     {76                         txtNum += 1;77                     }78                     else if (fileInfo.Extension == ".dll")79                     {80                         dllNum += 1;81                     }82                     else83                     {84                     }85                 }86             }87             Console.WriteLine("txt的数量为{0},dll的数量为{1}", txtNum, dllNum);88         }89     }90 }

注:对于需求3的目录结构如下

   

 需求4的代码(下载网络文件到本地)

1 using System; 2 using System.Linq; 3 using System.Net; 4  5 namespace FileOperation 6 { 7     class Program 8     { 9         static void Main(string[] args)10         {11             DownloadWebFile();12         }13 14 15         /// 16         /// 下载网络文件17         /// 18         static void DownloadWebFile()19         {20             //网络文件地址21             string webFileUrl = "http://127.0.0.1:8088//error-file.txt";22             //下载地址23             string myDictionary = AppDomain.CurrentDomain.BaseDirectory;24             //获取文件名称25             string fileName = GetFileName(webFileUrl);26             if (!HttpFileExist(webFileUrl))27             {28                 Console.WriteLine("服务器上没有该文件");29                 return;30             }31             else32             {33                 WebClient client = new WebClient();34                 client.DownloadFile(webFileUrl, myDictionary + "/" + fileName);35             }36 37         }38 39         /// 40         /// 判断网络文件是否存在41         /// 42         /// 43         /// 
44 static bool HttpFileExist(string fileUrl)45 {46 try47 {48 //创建根据网络地址的请求对象49 HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(fileUrl));50 httpWebRequest.Method = "HEAD";51 httpWebRequest.Timeout = 1000;52 //返回响应状态是否是成功比较的布尔值53 using (HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse())54 {55 return response.StatusCode == HttpStatusCode.OK;56 }57 }58 catch (Exception ex)59 {60 return false;61 }62 }63 64 /// 65 /// 获取文件名称66 /// 67 /// 68 ///
69 private static string GetFileName(string url)70 {71 string fileName = "";72 string[] str = url.Split('/');73 fileName = str.Last();74 return fileName;75 }76 }77 }

三、写到后面的话

  其实这篇都算不上是文件操作汇总,我只是把新学到的知识放到了一个小小的项目中,以便自己后期用到能随时查询出来。C#对文件的操作不仅仅是这些,还有很多操作,就不一一列举验证。

继续加油~

转载于:https://www.cnblogs.com/jas0203/p/10365337.html

你可能感兴趣的文章
CentOS开启samba实现文件共享
查看>>
MSSQL使用sqlbulkcopy批量插入数据
查看>>
证明一个数能被3整除,当且仅当它的各位数的和能被3整除
查看>>
2018秋寒假作业4—PTA编程总结1
查看>>
android自适应屏幕
查看>>
2019-北航面向对象-电梯作业总结
查看>>
SqlHelper
查看>>
初识算法、数据结构
查看>>
Luogu4069 SDOI2016 游戏 树链剖分、李超线段树
查看>>
Java的内部类真的那么难以理解?
查看>>
一文搞懂Java环境,轻松实现Hello World!
查看>>
hash实现锚点平滑滚动定位
查看>>
也谈智能手机游戏开发中的分辨率自适应问题
查看>>
【转】MYSQL数据库设计规范与原则
查看>>
《中国大历史》—— 读后总结
查看>>
回溯法算法框架
查看>>
残差学习【转载】
查看>>
0302 关于IT行业的就业感想
查看>>
3、流程语句相关练习
查看>>
30、git 使用
查看>>