ASP.Net+Android+IO开发S、.Net培训、期待与您交流

以前文件读取总是一知半解,每次使用时都是这错拿错,代码每次写到一半就要去翻资料。今天自己来好好总结一下。第一个不明白的方就是文件路径了,编程时唱设为path。

string path = Path.GetFullPath("wages.txt");
            FileStream fs = new FileStream(path, FileMode.Open);
            StreamReader sr = new StreamReader(fs, Encoding.Default);
            List<string> email = new List<string>();
            string line = sr.ReadLine();
            Console.WriteLine(line);
            line = sr.ReadLine();
            while (line != null)
            {
                Console.WriteLine(line);
                string[] content = line.Split('|');
                email.Add(content[1]);
                line = sr.ReadLine();
            }

sr.Close();

fs.Close();
            foreach (string s in email)
            {
                Console.WriteLine(s);
            }
            Console.ReadKey();、

C#获取当前路径的方法如下:

1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

-获取模块的完整路径。

2. System.Environment.CurrentDirectory

-获取和设置当前目录(该进程从中启动的目录)的完全限定目录。

3. System.IO.Directory.GetCurrentDirectory()

-获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有时不一定返回什么东东,我也搞不懂了。

4. System.AppDomain.CurrentDomain.BaseDirectory

-获取程序的基目录。

5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

-获取和设置包括该应用程序的目录的名称。

6. System.Windows.Forms.Application.StartupPath

-获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已

7. System.Windows.Forms.Application.ExecutablePath

-获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。

对于Windows程序和Web 应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序.于是我们可以使用如下的代码

string path = "";   if (System.Environment.CurrentDirectory == AppDomain.CurrentDomain.BaseDirectory)//Windows应用程序则相等   ...{   path = AppDomain.CurrentDomain.BaseDirectory;   }   else ...{   path = AppDomain.CurrentDomain.BaseDirectory + "Bin\";   } 这样如果我们写了一个类库,类库中用到了Assembly.LoadFrom,由于是通用类库,所以可能用到Windows程序中也可能用到Web中,那么用上面的代码就很方便了.

1、Server.MapPath

2、System.Windows.Forms.StartupPath

3、Type.Assembly.Location

C#获取当前路径方法2可以应用于控制台应用程序,WinForm应用程序,Windows服务,方法1可以应用于Web应用程序,方法3都可以应用。

但方法3是加载应用程序的路径。如果是Web应用程序,取得的路径是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files目录。所以Web项目还是使用Server.MapPath吧。否则建议使用方法2。如果自己新建类库。可以加入对System.Windows.Forms.StartupPath的引用后使用。

路径总算弄明白了。。。

ASP.Net+Android+IOS开发、.Net培训、期待与您交流!详细请查看:http://edu.csdn.net

转载于:https://www.cnblogs.com/dinghaiping/p/3278815.html

黑马程序员—文件读取路径及行读取的方式,今晚总算有点小懂相关推荐

  1. 黑马程序员python

    第一阶段 第二章 04-数据类型 type():查看数据的类型 # 方式1:使用print直接输出类型信息 print(type("黑马程序员")) print(type(666) ...

  2. 黑马程序员:福利来袭!网络安全斗鱼直播“录像+资源”大放送

      不知大家是否知道,就在上周五(8月5日),黑马程序员C++学院资深讲师冰哥和知名美女老师码小趣,为大家带来了一场关于网络安全的直播盛宴! 关于直播内容如下: 一.科普网络安全知识,手把手教大家怎么 ...

  3. logback的xml文件,b站黑马程序员

    为了方便大家,logback.xml可以用,b站的黑马程序员` 自己改一下file和fileNamePattern的路径即可 <?xml version="1.0" enco ...

  4. 黑马程序员入学Java知识——精华总结

    黑马程序员入学Java知识--精华总结 J2SE部分,Java高新技术部分,7K面试题部分等黑马入学要求的知识点总结! 一.黑马程序员-java概述与基础知识 6 1.何为编程? 6 2.Java语言 ...

  5. 《Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案

    <Android移动应用基础教程>(Android Studio)(第二版)黑马程序员 课后习题答案 目录 第1章 Android基础入门 第2章 Android常见界面布局 第3章 An ...

  6. 黑马程序员C++笔记

    C++ 课程链接: 黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili 一.C++基础语法 1.变量和常量数据 1.1第一个C++程序 编写一个C++程序总共分 ...

  7. [学习笔记]黑马程序员-Hadoop入门视频教程

    文章目录 参考资料 第一章:大数据导论与Linux基础(p1-p17) 1.1 大数据导论 1.1.1 企业数据分析方向 1.1.2 数据分析基本流程步骤 明确分析的目的和思路 数据收集 数据处理 数 ...

  8. 黑马程序员_MongoDB笔记

    根据黑马程序员的课程资料整理所得,仅用于学习使用,如有侵权,请联系删除 1.MongoDB简单介绍 1.1 MongoDB应用场景 应对三高需求 High performance - 对数据库高并发读 ...

  9. 跟着黑马程序员pink老师学习的笔记及小破站学习的笔记

    网页 1.网站是指在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合 2.什么是网页? 网页是网站中的一"页",通常是HTML格式的文件,它要通过浏览器来 ...

最新文章

  1. 关于JS点击button之灵活替换改变内容方法
  2. 外卖ERP管理系统(二)
  3. 隐马尔可夫(HMM)
  4. DL之Attention:Attention注意力机制的简介、应用领域之详细攻略
  5. webconfig中注册HttpHandler报错:检测到在集成的托管管道模式下不适用的 ASP.NET 设置。...
  6. Linux 系统应用编程——网络编程(socket编程)
  7. vscode,git提交push,需要每次都输入账号密码username,password
  8. 电脑唯一标识_什么是电脑网卡物理地址以及2种查询物理地址的方法?
  9. 服务器消息机制实现--记录
  10. 如何在word 里插入代码?
  11. 2022最新WiFi大师小程序3.0.9源码+独立版后台
  12. 怎么把PDF分割成几个文件?分享几种分割方法
  13. 极米Z7X对比当贝D5X区别 哪个值得买
  14. Stibo Systems(思迪博) 荣获数据质量卓越实践奖并获得CSTC权威鉴定
  15. web 前端签名插件_signature_pad插件实现电子签名功能
  16. php计算问卷分数,php 问卷调查结果统计
  17. H5外包团队:使用HTML5播放短视频代码分享
  18. 版本控制系统的集中式和分布式
  19. Docker容器实时日志查看器Dozzle
  20. 一文读懂大数据及大数据产业

热门文章

  1. zabbix错误提示解决
  2. 从IBM和SUN分析当前SOA公司现状
  3. C#/ASP.NET完善的DBHelper,配套Model生成器
  4. AngularJS入门心得1——directive和controller如何通信
  5. #翻译#将像素绘制到屏幕上
  6. Android小知识10则(下)
  7. MFC入门示例之静态文本框、编辑框
  8. Git异常:fatal: V1.0 cannot be resolved to branch.
  9. 使用SpringTest测试,默认情况事务是不会提交的
  10. 微软:推开窗户,我看到了云