C#循环读取文件流,按行读取
public Dictionary<string,string> GetSourceDisksElements(String section)
{
section = "[" + section;
Dictionary<string, string> keyToValue = new Dictionary<string, string>();
//打开文件流,开始读取文件
using (StreamReader sin = new StreamReader(new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)))
{
for (String str = sin.ReadLine(); str != null; str = sin.ReadLine())
{
if (str.Trim().StartsWith(section, StringComparison.OrdinalIgnoreCase)) //some section has comment.
{
for (str = sin.ReadLine(); str != null && !str.Trim().StartsWith("["); str = sin.ReadLine()) //loop for get string, until to next section or end of file.
{
if (!String.IsNullOrEmpty(str.Trim()) && !str.Trim().StartsWith(";")) //drop the comment line and empty line. //去掉name-value对的限制,因为存在无=的情况。20100309.str.Contains('=') && only get the name-value pair line.
{
String[] keyValues = str.Split('=');
if (section.Equals("[SourceDisksNames"))
{
string[] noCommentValues = keyValues[].Split(';');
string realValue = noCommentValues[].Trim(); String[] sourceDiskCfg = realValue.Split(','); //disk-description[,[tag-or-cab-file],[unused],[path],[flags][,tag-file]] (tag-file : Windows XP and later versions of Windows)
String diskpath = String.Empty;
if (sourceDiskCfg.Length > )
diskpath = sourceDiskCfg[].Trim(); if (diskpath.StartsWith("\""))
diskpath = RemoveQuotes(diskpath); if (!String.IsNullOrEmpty(diskpath) && diskpath.StartsWith("."))
diskpath = diskpath.Substring(diskpath.IndexOf('\\')); //
if (!String.IsNullOrEmpty(diskpath) && !diskpath.StartsWith("\\"))
diskpath = "\\" + diskpath; keyToValue.Add(keyValues[].Trim(), diskpath);
}
else
{ string[] noCommentValues = keyValues[].Split(';');
string realValue = noCommentValues[].Trim();
keyToValue.Add(keyValues[].Trim(), realValue);
}
}
}
break;
}
}
}
return keyToValue;
}
C#循环读取文件流,按行读取的更多相关文章
- 文件_ _android从资源文件中读取文件流并显示的方法
		======== 1 android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private ... 
- Java利用内存映射文件实现按行读取文件
		我们知道内存映射文件读取是各种读取方式中速度最快的,但是内存映射文件读取的API里没有提供按行读取的方法,需要自己实现.下面就是我利用内存映射文件实现按行读取文件的方法,如有错误之处请指出,或者有更好 ... 
- [转]从minio中读取文件流进行下载文件
		本文转自:https://blog.csdn.net/ZHANGLIZENG/article/details/82892678 一.获取Minio连接 public static String ... 
- Linux:读取文件,每行拆分,并比较拆分数组长度
		读取文件,每行拆分,并比较拆分数组长度 #!/bin/bash FILENAME=./.txt function While_read_LINE(){ cat $FILENAME | while re ... 
- python之从文件中按行读取数据
		#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'jiangwenwen' # 从文件中按行读取数据 file = open(& ... 
- c++ 读取文件 最后一行读取了两次
		用ifstream的eof(),竟然读到文件最后了,判断eof还为false.网上查找资料后,终于解决这个问题. 参照文件:http://tuhao.blogbus.com/logs/21306687 ... 
- java 读取文件流
		搬运自速学堂:https://www.sxt.cn/Java_jQuery_in_action/ten-iqtechnology.html JAVA中IO流体系: 四大IO抽象类 ·InputStre ... 
- C++基于文件流和armadillo读取mnist
		发现网上大把都是用python读取mnist的,用C++大都是用opencv读取的,但我不怎么用opencv,因此自己摸索了个使用文件流读取mnist的方法,armadillo仅作为储存矩阵的一种方式 ... 
- Java读取文件时第一行出现乱码“?”问号
		我们在使用Java在读取文件(txt.dat等)时,如果文件不是utf-8格式的话,读取结果会出现,中文字符变乱码的情况,所以一般在读取时转为UTF-8格式读取. 但这时会出现一种情况,第一次读取第一 ... 
随机推荐
- [leetcode] 16. Add Binary
			这个题目相对有点奇怪,题目如下: Given two binary strings, return their sum (also a binary string). For example, a = ... 
- 使用 Project Siena 生成一个 Windows Store 应用
			继 App Studio 之后微软又一力作 Project Siena [Win8 应用神器]给初学开发 或 对 Windows Store 应用感兴趣的同学们的一个福利,可以通过 一个简单的应用可以 ... 
- TFS应用层服务器获取F5用户的真实IP地址(高可用性)
			当用户数量达到一定级别(例如2千)以上,为保证TFS系统的持续服务,最大程度减少因系统宕机对研发团队的影响,系统管理员一般会考虑应用层和数据库层的高可用性方案. 在应用层的高可用性方案中,目前比较常见 ... 
- Win10更新失败 无限重启 怎么修复
			首先使用安全模式进入电脑,win+R 输入gpedit.msc,进入组策略管理器.或者在开始菜单输入gpedit.msc 在组策略的左侧依次单击打开“计算机配置—管理模板—Windows组件”,并在右 ... 
- DDoS防护之TCP防护
			本文由 网易云 发布. TCP协议,相信对于每一个开发工程师都不陌生.由于该协议是一个面向连接,可靠的特性,广泛应用于现在互联网的应用中.如常见的Web.SSH.FTP等都是基于TCP协议.目前TC ... 
- 红帽子系统链接加vm15秘钥一份
			vm15秘钥:YZ718-4REEQ-08DHQ-JNYQC-ZQRD0 红帽子系统下载链接:http://www.ddooo.com/softdown/60964.htm 
- 使用Commons Email发送邮件
			Commons Email是apache commons库中的一个组件,对java mail做了一些个封装,提供能为简化的API供开发者使用.它依赖于javax.mail . 首先下载commons- ... 
- JAVA 定时器时间格式
			格式: [秒] [分] [小时] [日] [月] [周] [年] 通配符说明: \*:表示所有值.例如:在分的字段上设置"\*",表示每一分钟都会触发. ?:表示不指定值.使用的场 ... 
- openvswitch 驱动卸载失败(Module openvswitch is in use)
			现象: [root@ostack1 ~]# modprobe -r openvswitchmodprobe: FATAL: Module openvswitch is in use. 解决: [roo ... 
- 926. Flip String to Monotone Increasing
			A string of '0's and '1's is monotone increasing if it consists of some number of '0's (possibly 0), ... 
