C#,怎样利用filestream流查询文件中的某几个字

怎样通过filestream或者stream流查询文件中的数据呢?比如某个txt文件中存放的数据位“2014中国”怎么通过传入“中国”查询者两个字是否在文件中呢?还有就是... 怎样通过filestream或者stream流查询文件中的数据呢?比如某个txt文件中存放的数据位“2014 中国”怎么通过传入“中国”查询者两个字是否在文件中呢?还有就是能不能通过“中国”二字查询与它同一行的前四个字呢,也就是这里的2014,比如这个txt文件中存了多行数据第一行是“2014 中国”,第二行是“2008 北京”,能否通过在流中传递参数“北京”查询出2008返回,或者通过“中国”返回2014呢?我想做一个公交查询软件,打算把公交数据存放在tx文件中,然后通过filestream流读取文件,所以想实现上面的查询操作,望大神指点迷津。。献上所有财富了,之后追加 展开
 我来答
syyongyousoft
2013-12-14 · TA获得超过529个赞
知道小有建树答主
回答量:85
采纳率:100%
帮助的人:75.7万
展开全部
private string SelectStr(string str)
{
FileStream fs = new FileStream("d:\\a.txt", FileMode.Open);
StreamReader m_streamReader = new StreamReader(fs, System.Text.Encoding.GetEncoding("GB2312"));
m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string strLine = m_streamReader.ReadLine();
do
{
if (strLine.Contains(str))
{
return strLine.Substring(strLine.IndexOf(str) - 4, 4);
}
strLine = m_streamReader.ReadLine();
} while (strLine != null && strLine != "");
m_streamReader.Close();
m_streamReader.Dispose();
fs.Close();
fs.Dispose();
return "";
}
}
更多追问追答
追问
谢谢,不过你这样的话是在知道“中国”是第五个字所以把流的位置往前移四位,但是要是不知道“中国”这两个字在哪里呢?有没有以行为单位的方式查询啊,通过传入的参数查询该参数所在行的前几个字。
追答
返回的是“中国”的前四个字符,中国可以在行的任意位置
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式