streamreader(streamreaderror怎么办)

http://www.itjxue.com  2023-01-24 19:08  来源:未知  点击次数: 

C#里边这样的语句是啥意思?StreamReader

从文件中读取数据。。。

这句话大致意思:

从某个文件中以GB2312的形式读取数据(流文件-二进制)

C#streamreader指定读取第几行

using?System.IO

public?partial?Form1?:?Form

{

????Liststring?lines;

????public?Form1()

?????{

????????????InitializeComponent();

????????????//存放所有行的集合

????????????lines?=?new?Liststring();

?????}

?????

?????private?void?Form1_Load(object?sender,?System.EventArgs?e)

?????{

????????????FileStream?fs?=?new?FileStream("TextFile1.txt",?FileMode.Open);

????????????StreamReader?rd?=?new?StreamReader(fs);

????????????string?s;

????????????//读入文件所有行,存放到Liststring集合中

????????????while(?(s=?rd.ReadLine()?)!=?null)

????????????{

????????????????lines.Add(s);

????????????}?????????

????????????rd.Close();

????????????fs.Close();

????????????//第一行在textBox1中显示

????????????if(lines.Count??0?)

????????????{

????????????????textBox1.Text?=?lines[0];

????????????}

????????????//第二行在textBox2中显示

????????????if(lines.Count??1)

????????????{

????????????????textBox2.Text?=?lines[1];

????????????}

?????}

}

还有更简单的方法,不使用StreamReader。

public?partial?Form1?:?Form

{

????string[]?lines;

????public?Form1()

?????{

????????????InitializeComponent();

?????}

?????

?????private?void?Form1_Load(object?sender,?System.EventArgs?e)

?????{

????????????lines?=?File.ReadAllLines("TextFile1.txt");

????????????//第一行在textBox1中显示

????????????if(lines.Length??0?)

????????????{

????????????????textBox1.Text?=?lines[0];

????????????}

????????????//第二行在textBox2中显示

????????????if(lines.Length??1)

????????????{

????????????????textBox2.Text?=?lines[1];

????????????}

?????}

}

C#中,StreamReader类的使用!

using有2种作用:1.就是用来引入命名控件 ,,如 using System.IO;2.语句,用using定义的代码,,会在句末释放using()中说使用的资源,,。。这样可以优化系统资源。如不用using使用文件流操作就要进行显示关闭文件流跟都写器如:FileStream fs = File.Open("文件名.扩展名", FileMode.Open, FileAccess.Read);

StreamReader sr=new StreamReader(fs, Encoding.GetEncoding("gb2312"));

string line=sr.ReandLine();

sr.Close();

fs.Close();

关于c#中streamreader使用的困惑

File或是FileInfo中的相应open方法其实是对应的stream对象的简写,如果反编译相关函数,大致如下所示,你可以发现,他总结了相应的参数,可能能满足绝大部分使用场景,在这种情况下,使用file.open***可以快捷方便的打开文件流,但是如果在一些特殊场景下,你还是需要使用new streamreader的某些重载来打开文件流。

而具体使用哪种方式看怎么方便了。

public static FileStream OpenRead(string path)

{

return new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);

}

public static FileStream OpenWrite(string path)

{

return new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);

}

public static StreamReader OpenText(string path)

{

return new StreamReader(path);

}

StreamReader 读取相对路径

如果你一定要用StreamReader的话,可以这样用:

string config = string.Empty;

using (StreamReader sr = new StreamReader(File.OpenRead(filePath)))

{

config = sr.ReadToEnd();

}

StreamReader可以接受一个Stream作参数,也可以直接传文件路径。(我的是.NET 3.5,不知道2.0是否可以)

如果你只是想获得文件内容,可以这样:

string config = File.ReadAllText(filePath);

最后,记得在project的Post Build Event里,把/Settings/Config.txt拷到编译输出目录下去。

如果你是想存config设定,最好还是存在App.Config里,App.Config会自动随可执行文件部署,就不用你手工拷贝了。

using System.Configuration; //(如果要使用System.Configuration,记得在project里引用System.Configuration这个assembly)

namespace MyLibrary

{

public class Program

{

static void Main(string[] args)

{

string setting1Value = ConfigurationManager.AppSettings["Settings1"];

}

}

}

streamreade命令r 需要使用哪个 using命名空间

StreamReader是文件流对象,需要导入System.IO命名空间

? ?? ?在读写文件的过程中,Filestream只可以进行以字节为单位原始数据流进行读写操作,为此,C#中提供了功能更加强大的StreamReader/ StreamWriter来支持文件的读写. StreamReader/ StreamWriter可以进行以字符为单位的数据读写操作.

一. 用StreamReader的构造函数

StreamReader有很多的构造函数:在这里只列出两个常用和比较常见的

StreamReader??sr=new?StreamReader?(Stream);?Stream可以是Filestream;

StreamReader??sr=new?StreamReader?(String);?String为指定的文件名初始化?StreamReader?类的新实例。

例如:

//demo1

FileStream?filest?=?new?FileStream(@"c:\abc.txt",?FileMode.Open,?FileAccess.ReadWrite);?StreamReader?sr?=?new?StreamReader(filest);

//demo2

StreamReader?another?=?new?StreamReader(@"c:\abc.txt");

两个StreamReader都指向同一个文件.

StreamReader读取文件中的数据的代码:

FileStream?filest?=?new?FileStream(@"c:\abc.txt",?FileMode.Open,?FileAccess.ReadWrite);

StreamReader?sr?=?new?StreamReader(filest);

string?strLine?=?sr.ReadLine();//读取文件中的一行

while(strLine!=null)//判断是否为空,表示到文件最后一行了

{

Console.WriteLine(strLine);

strLine?=?sr.ReadLine();

}

sr.Close();//关闭流

filest.Close();

二. StreamWriter

StreamWriter 专门用于的向文件中写数据的,它和StreamReader类似,只是一个负责向文件中写数据,一个负责向文件中读数据而已.

StreamWriter 构造函数也有很多.在这里只举例两个构造函数.

StreamWriter??sr=new?StreamWriter?(Stream);?Stream可以是Filestream;

StreamWriter??sr=new?StreamWriter?(String);?String为指定的文件名初始化StreamWriter?类的新实例。

例如:

//demo1

FileStream?filest?=?new?FileStream(@"c:\abc.txt",?FileMode.Open,?FileAccess.ReadWrite);?StreamWriter?sw?=?new?StreamWriter?(filest);

//demo2

StreamWriter?another?=?new?StreamWriter?(@"c:\abc.txt");

StreamWriter向文件写入数据的例子:

FileStream?filewriter?=?new?FileStream(@"C:\abc.txt",?FileMode.Append,?FileAccess.Write);

以追加的方式打开文件,并进行写入操作.

StreamWriter?sw?=?new?StreamWriter(filewriter);?构造函数;

for?(char?mychar?=?'a';?mychar?=?'z';?mychar++)

{

sw.Write(mychar);//将从a—z26个小写字母写入文件中.

}

sw.Close();filewriter.Close();

//demo

FileStream?filest?=?new?FileStream(@"c:\abc.txt",?FileMode.Open,?FileAccess.ReadWrite);

StreamReader?sr?=?new?StreamReader(filest);

string?strLine?=?sr.ReadLine();

while(strLine!=null)

{

Console.WriteLine(strLine);

strLine?=?sr.ReadLine();

}

sr.Close();

filest.Close();

(责任编辑:IT教学网)

更多

推荐通讯数据软件文章