我可能有多个不同文件名不同内容txt文件,现在我要将读取每个txt文件从第二行读取数据,把读出数据合并到另外一个新txt文件里.
例如:
H20070704.txt 这是第一个文件 内容如下:
D T AB AA AD AC AF\\\\\\\\\\ 注释这是第1个文件第1行内容
2007/07/04 00:00:02 0 293 0 254 \\\\\\ //注释这是第1个文件第2行内容
2007/07/04 03:00:00 0 276 0 276 \\\\\\ //注释这是第1个文件第3行内容
.....................................省掉的数据H20070714.txt 这是第二个文件 内容如下:
AEMX AFMXT ABMX AAMX ABMXT \\\\\\\\\\ //注释这是第二个文件第1行内容
2007/07/14 01:00:00 0 116 0 49 2 \\\\\\\\\\ //注释这是第二个文件第2行内容
2007/07/14 02:00:00 0 148 0 83 5 //注释这是第二个文件第3行内容
.....................................省掉的数据我要合并成新文件H200707.txt 内容如下:
2007/07/04 00:00:02 0 293 0 254 \\\\\\ //注释这是第1个文件第2行内容
2007/07/04 03:00:00 0 276 0 276 \\\\\\ //注释这是第1个文件第3行内容
2007/07/14 01:00:00 0 116 0 49 2 \\\\\\\\\\ //注释这是第二个文件第2行内容
2007/07/14 02:00:00 0 148 0 83 5 //注释这是第二个文件第3行内容
请问C#代码 怎么实现,请指教!谢谢了!
例如:
H20070704.txt 这是第一个文件 内容如下:
D T AB AA AD AC AF\\\\\\\\\\ 注释这是第1个文件第1行内容
2007/07/04 00:00:02 0 293 0 254 \\\\\\ //注释这是第1个文件第2行内容
2007/07/04 03:00:00 0 276 0 276 \\\\\\ //注释这是第1个文件第3行内容
.....................................省掉的数据H20070714.txt 这是第二个文件 内容如下:
AEMX AFMXT ABMX AAMX ABMXT \\\\\\\\\\ //注释这是第二个文件第1行内容
2007/07/14 01:00:00 0 116 0 49 2 \\\\\\\\\\ //注释这是第二个文件第2行内容
2007/07/14 02:00:00 0 148 0 83 5 //注释这是第二个文件第3行内容
.....................................省掉的数据我要合并成新文件H200707.txt 内容如下:
2007/07/04 00:00:02 0 293 0 254 \\\\\\ //注释这是第1个文件第2行内容
2007/07/04 03:00:00 0 276 0 276 \\\\\\ //注释这是第1个文件第3行内容
2007/07/14 01:00:00 0 116 0 49 2 \\\\\\\\\\ //注释这是第二个文件第2行内容
2007/07/14 02:00:00 0 148 0 83 5 //注释这是第二个文件第3行内容
请问C#代码 怎么实现,请指教!谢谢了!
FileStream fs = new FileStream("e:/1.TXT", FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
string str = sr.ReadLine(); //如果 文件有内容
string content = "";
int flag=1;
while (str != null)
{
content += flag>1?"\r\n" + str:"";
flag++;
str = sr.ReadLine();
}fs = new FileStream("e:/2.TXT", FileMode.Open, FileAccess.Read);
sr = new StreamReader(fs, System.Text.Encoding.Default);
str = sr.ReadLine(); //如果 文件有内容
flag=1;
while (str != null)
{
content += flag>1?"\r\n" + str:"";
flag++;
str = sr.ReadLine();
}sr.Close();
fs.Close();然后写入第三个文件就ok了。
using (StreamReader sr = new StreamReader("c:\\test.txt"))
using (RichTextBox rtb = new RichTextBox())
{
rtb.Text = sr.ReadToEnd();
string[] slines = rtb.Lines;
//第一行
string first = slines[0];
}
StreamReader srReadLine = new StreamReader(fname, System.Text.Encoding.GetEncoding("GB2312"));
string line;
int i = 0;
int j = 0;
line = sr.ReadLine();
if (line != null)
{ while (line != null)
{
line = sr.ReadLine(); if (line != null)
{
i++;
string[] s2 = line.Split(new char[] { ',' });
FileStream fs = File.Open("\\DiskOnChip\\temp\\"+ s2[6] + ".temp", FileMode.OpenOrCreate);
num[i] = s2[6];
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine(line.ToString());
j = i;
if (i == line.Length)//循环所有行
{
break;
}
sw.Close();
fs.Close();
}
}
sr.Close();//关闭
}以前写的类似的东西,看看吧
string desFile=@"c:\desdir\total.txt"; //最后写入的文件,存在这个目录下
string[] srcFiles = Directory.GetFiles(srcDir);
StreamWriter writer = new StreamWriter(desFile);
writer.WriteLine("这文件列标题");string temp1;
foreach(string file in srcFiles)
{
StreamReader reader=new StreamReader(file);
try
{
reader.ReadLine();
do
{
temp1=reader.ReadLine();
temp1=temp1.Trim();//开头和结尾去空格
writer.WriteLine(temp1);
}
while(reader.Peek() != -1);
}
catch( Exception err)
{
MessageBox.Show(err.Message);
}
finally
{
writer.Flush();
writer.Close();
reader.Close();
}
}其实,合并文本使用copy就可以了