c# 读取保存的txt文件中的数据问题

StreamWriterwriter=null;stringpath=@"E:\VS2008工作环境\SJ";writer=newStreamWriter(path+Da... StreamWriter writer = null;
string path = @"E:\VS2008工作环境\SJ";
writer = new StreamWriter(path + DateTime.Now.ToString("yyyyMMddhhmmss") + ".txt", true, Encoding.Default);
writer.Write(str3);
writer.Flush();
这是存储文件的过程,我把接收到的数据按接收时的时间为文件名存成一个个的txt文件,现在我想一一读取这些文件中的数据,读取文件的过程要怎么去写?主要是读取文件路径要怎么写?
哪位大侠帮帮小弟啊 着急 在先等、、、
展开
 我来答
89801860
2011-10-21 · TA获得超过139个赞
知道小有建树答主
回答量:186
采纳率:100%
帮助的人:129万
展开全部
StreamReader textRead=File.OpenText(@"E:\VS2008工作环境\SJ\XXX\XX.txt");
TextBox1.text = textRead.ReadToEnd();
//上面一次性读取整个文本文件内容

StreamReader textReadLine = File.OpenText(@"E:\VS2008工作环境\SJ\XXX\XX.txt");
string myInputString = textReadLine .ReadLine();
while(myInputString != null)
{
TextBox1.text += myInputString + Environment.NewLine;
myInputString = textReadLine .ReadLine();
}
//上面 逐行读取文本文件

你的可以这麼改,将路径和文件名称存为全局变量,文本文件写入完毕后,输出件名就可以了
private string path = "";
什麽什麽方法()
{
path = @"E:\VS2008工作环境\SJ"+DateTime.Now.ToString("yyyyMMddhhmmss") +".txt"
writer = new StreamWriter(path, true, Encoding.Default);
................................................................
}
然後程式中其他地方就可以调用path 了
追问
(@"E:\VS2008工作环境\SJ\XXX\XX.txt")  我就是这不明白,这里能跟我详细的说下么?我要读取的有很多的这样的TXT文件,都是按接收时的当前系统时间命名的,XXX\XX.txt这里我要怎么写呢?
追答
將所有的文本文件存放到一個文件夾下,例如texts 文件夾下,然後用文件操作類,枚舉出texts文件夾下的所有text文件,這樣就能獲取到所有的文本文件的文件名。然後就可以循環讀取枚舉出的文本文件了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
2015-08-10 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:886万
展开全部
C#读写txt文件的两种方法:

1.添加命名空间
  System.IO;
  System.Text;

2.文件的读取
  (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。
byte[] byData = new byte[100];
char[] charData = new char[1000];
public void Read()
{
try
{
FileStream file = new FileStream("E:\\test.txt", FileMode.Open);
file.Seek(0, SeekOrigin.Begin);
file.Read(byData, 0, 100); //byData传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.
Decoder d = Encoding.Default.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);
Console.WriteLine(charData);
file.Close();
}
catch (IOException e)
{
Console.WriteLine(e.ToString());
}
}

  (2).使用StreamReader读取文件,然后一行一行的输出。
public void Read(string path)
{
StreamReader sr = new StreamReader(path,Encoding.Default);
String line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line.ToString());
}
}

3.文件的写入
  (1).使用FileStream类创建文件,然后将数据写入到文件里。
public void Write()
{
FileStream fs = new FileStream("E:\\ak.txt", FileMode.Create);
//获得字节数组
byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!");
//开始写入
fs.Write(data, 0, data.Length);
//清空缓冲区、关闭流
fs.Flush();
fs.Close();
}

  (2).使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件。
public void Write(string path)
{
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//开始写入
sw.Write("Hello World!!!!");
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaasuper
2011-10-23 · TA获得超过801个赞
知道小有建树答主
回答量:431
采纳率:100%
帮助的人:623万
展开全部
直接生成文件路径应该是不行的,因为你不知道什么时候生成了文件,枚举整个目录下的文件比较好,代码如下
string path = @"E:\VS2008工作环境\";
if (!Directory.Exists(path))
{
MessageBox.Show("目录不存在");
return;
}
string[] files = Directory.GetFiles(path, ".txt", SearchOption.TopDirectoryOnly);
foreach (string filename in files)
{
try
{
string text = File.ReadAllText(filename, Encoding.Default);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
//你的处理过程
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhiqing999
2011-10-21 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3329万
更多追问追答
追问
对于我的这个问题你能不能给点意见  我的读取路径要怎么去写??
追答
关于 读取路径  这个要看你 打算用   相对路径去处理.   还是绝对路径了.

所谓 相对路径.
就是你的 这个 读取文本文件的 exe , 是放在
E:\VS2008工作环境\SJ
目录下面
或者
E:\VS2008工作环境
目录下面

这样, C# 程度, 读取文件的话。
就可以直接 使用 DateTime.Now.ToString("yyyyMMddhhmmss") + ".txt"
或者 "SJ\\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".txt",
来读取当天的文件。

如果是绝对路径的话。
也就是你读取 文本文件的 程序, 可以放在任何目录下的
那么就是
@"E:\VS2008工作环境\SJ" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".txt"
来读取当天的文件。

你如果要读取以前日期的文件, 还不确定哪一天。
那么可以使用

System.IO.Directory.GetFiles ( @"E:\VS2008工作环境\SJ" )
来取得 目录下面所有的文件名称。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式