现在我有个文件是这个样子的:"Hello!!"
""
"世界!!"
"你现在好吗??"
""
""
""以上一共七行,我现在想要读取第四行的数据到我指定的string中,并且不要前后的两个"",请提供一个可行的方法,最好是能给我几种不同的读取方法~~~谢谢~~~
""
"世界!!"
"你现在好吗??"
""
""
""以上一共七行,我现在想要读取第四行的数据到我指定的string中,并且不要前后的两个"",请提供一个可行的方法,最好是能给我几种不同的读取方法~~~谢谢~~~
解决方案 »
- 帮忙关于google map api key~~大侠们帮帮忙~感激不尽呀~
- 关于娱乐答题系统改怎么做。
- 一个的WCF的问题,关于数据契约和消息契约
- 无线驱动
- 为什么 无刷新下 HttpFileCollection files = HttpContext.Current.Request.Files;
- 接口问题
- 如何判断给定的网页是否存在?
- 菜鸟问题,想了好久一直没实现,请高手指点!!!!!
- 我是新手,问个弱弱的数据库问题,希望大家可以帮我,已经困扰了我很久
- NT下面获得关机权限的API函数怎么用? 图片格式转换问题>>> 回答有分
- 始终相信CSDN有高手的,跪求e.HasMorePage问题
- C#.NET 用FtpWebRequest 方式连接FTP服务器 问题
这有区别的。
StreamReader 的ReadLine可以满足你的需求应该。读取一行后Trim然后判断。
i是4时,就是读到第四行了
是不是这样加入sr是我已读到的文件:
string link = "";
for(int i=0;i<4;i++)
{
link = sr.ReadLine();
}
这样就可以读到第四行的数据了?
读第4行的话2楼的方法应该就可以了哈,那假如我事要从“你”开始读取呢?Trim判断应该怎么用?
System.IO.StreamReader sr = new System.IO.StreamReader("123.txt");
// tempstr = sr.ReadToEnd();
//string[] rows = tempstr.Split('~');
string str="";
//foreach (string str in rows)
while ((str = sr.ReadLine()) != null)
{
//这是普通验证方法
if (str.IndexOf("CDC", 0, 3) >= 0)
{
TextBox.Text+ = str;
}
//这是正则表达式验证
if (System.Text.RegularExpressions.Regex.IsMatch(str, "^CDC", System.Text.RegularExpressions.RegexOptions.IgnoreCase))
{
TextBox.Text +=str;// System.Text.RegularExpressions.Regex.Match(str, "^CDC", System.Text.RegularExpressions.RegexOptions.IgnoreCase).Value;
}
}
string sLine="";
string result=string.Empty;
int i=0;
while ((sLine = objReader.ReadLine())!= null)
{
i++;
if(i==4)
{
result=sLine;
break;
}
}
objReader.Close();
----------------------------------
string link = "";
for(int i=0;i<4;i++)
{
link = sr.ReadLine();
}
link = link.TrimStart('"').TrimEnd('"');
直接读第n行对流操作来是不可行的。通常的处理方法是:
先读出前面n-1行但不处理,直到读出第n行时再处理。至于去掉头尾的引号,截个子串就行了: class Program
{
static void Main(string[] args)
{
FileStream fs = null;
StreamReader r = null;
string str;
int row; try
{
fs = new FileStream("data.txt", FileMode.Open);
r = new StreamReader(fs); do
{
Console.WriteLine("请输入要查询的行数(>0):");
str = Console.ReadLine(); if (!(int.TryParse(str, out row)))
Console.WriteLine("请输入整数!");
} while (row < 1); for (int i = 0; i < row - 1 && !r.EndOfStream; r.ReadLine(), i++) ; str = r.ReadLine(); Console.WriteLine("查到的行:"); Console.WriteLine(str.Substring(str.IndexOf('"') + 1, str.LastIndexOf('"') - str.IndexOf('"') - 1));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
if (r != null)
r.Close(); if (fs != null)
fs.Close();
}
}
}