黑马程序员技术交流社区
标题: 在控制台中如何读取文件,求解 [打印本页]
作者: 庞海瑞 时间: 2013-8-2 10:01
标题: 在控制台中如何读取文件,求解
------ <a target="blank">Windows Phone 7手机...
这种方法可行吗?using System;using System.IO;
using System.Collections;namespace TextFileReader_csharp
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
static void Main(string[] args)
{
StreamReader objReader = new StreamReader("c:\\test.txt");
string sLine="";
ArrayList arrText = new ArrayList(); while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null)
arrText.Add(sLine);
}
objReader.Close(); foreach (string sOutput in arrText)
Console.WriteLine(sOutput);
Console.ReadLine();
}
}
}
作者: 彭家贰小姐 时间: 2013-8-2 10:29
本帖最后由 彭家贰小姐 于 2013-8-2 10:31 编辑
StreamReader可以的
当文本内容不是很多的时候,可以用File.ReadAllLines方法.该方法是一次性读完,返回一个字符串数组,每一行都是一个数组元素.
var lines = File.ReadAllLines("c:\\test.txt", Encoding.Default)
然后遍历处理
foreach (var temp in lines){}
当文本比较大时,就不要将文本内容一次读完,而应该采用你上面的流(Stream)的方式来读取内容.
.Net为我们封装了StreamReader类.
StreamReader objReader = new StreamReader("c:\\test.txt");
始化完成之后,可以每次读一行,也可以每次读一个字符 ,还可以每次读几个字符,甚至也可以一次将所有内容读完。
//读一行
string nextLine = objReader.ReadLine();
//读一个字符
int nextChar = objReader.Read();
//读100个字符
int nChars = 100;
char[] charArray = new char[nChars];
int nCharsRead = objReader.Read(charArray, 0, nChars);
//全部读完
string restOfStream = objReader.ReadToEnd();
使用完StreamReader之后,不要忘记关闭它: objReader.Closee();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |