复制文本文件c#中的行号

0 c# text-files

我有2个文件文件A和文件B如何在文件A上复制第30行并将其粘贴到文件B中第30行的顶部我可以在C#中执行此操作吗?

Jon*_*eet 6

这是一种非常简单的方法,假设文件B足够小以读入内存:

string lineFromA = File.ReadLines("fileA.txt").Skip(29).First();
string[] linesFromB = File.ReadAllLines("fileB.txt");
linesFromB[29] = lineFromA;
File.WriteAllLines("fileC.txt", linesFromB);
Run Code Online (Sandbox Code Playgroud)

这假设您使用的是.NET 4及其惰性File.ReadLines方法.如果不是,最简单的方法是使用两次将两个文件完全读入内存File.ReadAllLines:

string[] linesFromA = File.ReadAllLines("fileA.txt");
string[] linesFromB = File.ReadAllLines("fileB.txt");
linesFromB[29] = linesFromA[29];
File.WriteAllLines("fileC.txt", linesFromB);
Run Code Online (Sandbox Code Playgroud)

肯定有更有效的方法,但除非我有任何理由需要更高效的方法,否则我会采用上述方法.