C# 如何获取文件夹中的文件名并在.txt文件中使用它们
这可能吗?我在这里试图做的是从目录中获取文件名,然后在文本文件中使用这些文件名删除现有文本,并用文件名替换。我遇到的问题是filename1替换了文件中的所有oldtext,我只需要.txt文件中每个oldtext有一个文件名 旧文本?=我想用文件名替换.txt中的文本 前C# 如何获取文件夹中的文件名并在.txt文件中使用它们,c#,C#,这可能吗?我在这里试图做的是从目录中获取文件名,然后在文本文件中使用这些文件名删除现有文本,并用文件名替换。我遇到的问题是filename1替换了文件中的所有oldtext,我只需要.txt文件中每个oldtext有一个文件名 旧文本?=我想用文件名替换.txt中的文本 前 将oldtext1替换为filename1 将oldtext2替换为filename2 将oldtext3替换为filename3 等等 按字母顺序最好 提前谢谢你 ) 当前代码用相同的文件名替换循环中的所有文本,因
) 当前代码用相同的文件名替换循环中的所有文本,因此循环完成后,所有旧文本都应包含最后一个文件名 你应该这样做:
DirectoryInfo dinfo1 = new DirectoryInfo(path);
FileInfo[] Files1 = dinfo1.GetFiles("*.*");
string[] StringsToReplace = {"oldtext1", "oldtext2", "oldtext2"};
string text = File.ReadAllText("path/text.txt");
for(int i=0; i < StringsToReplace.Length; i++)
{
if(i >= Files1.Length)
{
break;
}
text = text.Replace(StringsToReplace[i], "path" + Files1[i].Name);
}
File.WriteAllText("path/text.txt", text);
DirectoryInfo dinfo1=新的DirectoryInfo(路径);
FileInfo[]Files1=dinfo1.GetFiles(“*”);
字符串[]StringsToReplace={“oldtext1”、“oldtext2”、“oldtext2”};
string text=File.ReadAllText(“path/text.txt”);
for(int i=0;i=Files1.Length)
{
打破
}
text=text.Replace(StringsToReplace[i],“path”+Files1[i].Name);
}
File.writealText(“path/text.txt”,text);
?什么阻止了你?您已经有了FileInfo
数组,可以通过使用linq或创建比较器对其进行排序,并且您有text=text.replace…
-那么问题出在哪里呢,真的吗?问题是它没有移动到filename2,而是替换了所有的oldtext1,oldtext2,文件名为1的oldtext3如果要替换的文件多于字符串怎么办?或者更多的字符串来替换文件?这是不可能的。文件夹文件为图片,文件为转换为.text的.dvds。我使用一个程序根据文件夹中的文件数量生成.dvd,但它不嵌入照片,因此我创建了一个程序,将照片嵌入到.dvd中,因此在生成时,照片位于.dvd文件中。我希望你能理解我说的。所以如果你删除所有文件并添加一个新文件,你的.txt文件将包含例如8个文件名和1个文件在第一个位置。这将导致一个好名称和7个无效名称。这真的是你想要的吗?这太棒了!!!非常感谢,这正是我想象中的效果。你就是佐哈尔
DirectoryInfo dinfo1 = new DirectoryInfo(path);
FileInfo[] Files1 = dinfo1.GetFiles("*.*");
string[] StringsToReplace = {"oldtext1", "oldtext2", "oldtext2"};
string text = File.ReadAllText("path/text.txt");
for(int i=0; i < StringsToReplace.Length; i++)
{
if(i >= Files1.Length)
{
break;
}
text = text.Replace(StringsToReplace[i], "path" + Files1[i].Name);
}
File.WriteAllText("path/text.txt", text);