c#读取txt文件

场景:C#读取TXT文件,并重定名

C#读取TXT文件,并重命名
我想用的方法是:读取TXT文件中照片的名字(每行一个名字已经写好的),把每个照片的名字都存到数组里面。问题是怎么把数组里面的名字牵连到每一个照片,替换掉照片的名字(名字和照片按顺序是一一对应的)。

例子:TXT文件中的名字是这样的
c#读取txt文件

想要的结果是:c#读取txt文件

求大神帮忙,小弟只是初学C#,想做个小软件自己用。如果有大神能帮我把代码写出来,小弟再次拜谢!!!
------解决思路----------------------
foreach (var item in File.ReadAllLines("1.txt").Zip(Directory.GetFiles("c:\\images", "*.*"), (newname, oldname) => new { newname, oldname }))
{
    File.Move(oldname, string.Concat(Path.GetDirectoryName(oldname), "\", newname, Path.GetExtension(oldname)));
}

------解决思路----------------------
如何读取TXT文件、批量更改文件名
//读取txt文件
 private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                openFileDialog1.Filter = "文本文件(*.txt)
------解决思路----------------------
*.txt";
                openFileDialog1.ShowDialog();
                textBox1.Text = openFileDialog1.FileName;
                StreamReader SReader = new StreamReader(textBox1.Text, Encoding.Default);
                textBox2.Text = SReader.ReadToEnd();
            }
            catch { MessageBox.Show("请选择文件"); }
        }
//批量更改文件名
 private void ChangeName()
        {
            int flag = 0;
            try
            {
                toolStripProgressBar1.Minimum = 0;
                toolStripProgressBar1.Maximum = listView1.Items.Count - 1;
                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    string path = listView1.Items[i].SubItems[4].Text;
                    string sourcePath = path + listView1.Items[i].SubItems[0].Text;
                    string newPath = path + listView1.Items[i].SubItems[1].Text;
                    File.Copy(sourcePath, newPath);
                    File.Delete(sourcePath);
                    toolStripProgressBar1.Value = i;
                    listView1.Items[i].SubItems[0].Text = listView1.Items[i].SubItems[1].Text;
                    listView1.Items[i].SubItems[6].Text = "√成功";
                }
            }//codego.net/tags/1/1/
            catch(Exception ex)
            {
                flag++;
                MessageBox.Show(ex.Message);
            }
            finally
            {
                tsslError.Text = flag.ToString() + " 个错误";
            }
        }
//开始批量更名
 private void 更名ToolStripMenuItem_Click(object sender, EventArgs e)       {
            if (listView1.Items.Count > 0)
            {
                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    listView1.Items[i].SubItems[6].Text = "";
                }
                tsslError.Text = "";
                td = new Thread(new ThreadStart(ChangeName));
                td.Start();
            }
        }

------解决思路----------------------
代码我就不写了,思路给你:
string[] filepaths;

前行读取txt
读取一行把这行加到filepaths中

然后
int i=1;
foreach(string item in filepaths)
{
    File.Move(item,新路径+"\\"+i.ToString()+".jpg";
}
------解决思路----------------------
其实你这就是保存个状态(图片和数据对应的状态)而已。

那怎么才能找到图片呢?  路径。所以你只要吧路径和数据对应就可以了。
如何对应呢?                      方式很多。比如使用序列化直接保存数组对象或XML保存关系等等等,这些都是以文件为的载体保存的。

用TXT保存的话,你就要知道如何读,且读的结果和写的时候一致。 这就要你定义一个格式了。如:   数字=文件路径
的形式保存,一行一个。读的时候使用ReadLine ,并以“=”切断字符串,获取数字和路径。

所以文件的读写你要看看,这个应该是最简单的I0操作了