C# 怎么在定时器中读取TXT文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 怎么在定时器中读取TXT文件相关的知识,希望对你有一定的参考价值。

StreamReader ss = new StreamReader(@"E:\Lat.txt", Encoding.Default);
下面是定时器:
private void timer1_Tick(object sender, EventArgs e)if (!ss.EndOfStream)


string[] sss = ss.ReadLine().Split(' ');
b = Convert.ToDouble(sss[0]);
a = Convert.ToDouble(sss[4]);


这个只能读第一行,第二行就报错,哪位大神知道是为什么?

报错是什么?试试在Timer事件内初始化StreamReader,用完就关闭掉,避免多线程占用。追问

我之前是在Timer事件内初始化的,但一直读的是第一行。

追答

你最开始的问题是“报错”,追问又说“但一直读的是第一行”。
究竟是什么情况?如果是报错请截图。

参考技术A

c#读取到的TXT文件中的中文乱码怎么解决

代码如下
string filename="";
string str1 = "";
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)//获得txt文件

filename = this.openFileDialog1.FileName;

StreamReader sr = File.OpenText(filename);//读取文件
str1 = sr.ReadToEnd();//把txt文件中的内容赋值给str1字符串
我想要解决以后的代码,不要给我看解决方案了,我看了很多解决方案就是弄不起来,也不知道那里错了,所以求大神帮我直接解决了吧

StreamReader sr = File.OpenText(filename);
改为
StreamReader sr = new StreamReader(filename,Encoding.Default);
StreamReader sr = new StreamReader(filename, Encoding.UTF8);
主要UTF8
参考技术A 使用这个试试看
using (System.IO.StreamReader sr = new System.IO.StreamReader(filename, true))

str1 = sr.ReadToEnd();
参考技术B FileStream fs = new FileStream("files/Save.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.Default);
string line = sr.ReadLine();
参考技术C 将txt的编码改为utf-8

以上是关于C# 怎么在定时器中读取TXT文件的主要内容,如果未能解决你的问题,请参考以下文章

c#读取到的TXT文件中的中文乱码怎么解决

WPF C#怎么批量读取和创建文件(类似txt文件)

C# 读取TXT文件内容到listview

C# 读取txt文件生成Word文档

C#读取txt文件

C# 如何读取一个文件夹下的多个文件内容