我有2個文件文件A和文件B如何在文件A上覆制行30並將其粘貼到文件B中第30行的頂部我可以在C#中執行此操作嗎?在文本文件中複製行號c#
0
A
回答
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);
這裏假設你正在使用.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);
肯定有更高效方法,但我與上面,除非去我有任何理由需要更高效的。
+0
我寧願用'linesFromB [29] = linesFromA [29]'方法,但都是一樣的; p – leppie 2012-07-09 10:57:36
+0
@leppie:我覺得這樣做還是很簡單的,至少現在我們可以處理一個巨大的文件A即使文件B仍然需要很小。也會包括其他解決方案... – 2012-07-09 10:58:31
0
如果您使用寫入端的流寫器,您會得到一個不佔用大量內存的例程,也可用於更大的文件。
string lineFromA = File.ReadLines("fileA.txt").Skip(29).First();
using (var fileC = File.AppendText("fileC.txt"))
{
int i = 0;
foreach (var lineFromB in File.ReadLines("fileB.txt"))
{
i++;
fileC.WriteLine(i != 30 ? lineFromB : lineFromA);
}
}
相關問題
- 1. 如何使用c#複製文本框中的文本文件?
- 2. pysvn文件複製功能版本號
- 3. 複製文件夾在c
- 4. 複製文件在C#
- 5. 複製C中的文件
- 6. 如何複製C或C++中的文本文件?
- 7. VBA:將文本文件中的行復制到Word文檔中
- 8. 在C#中複製文件時檢查重複的文件名
- 9. C++使用頭文件複製文本文件程序
- 10. 號文本在C#
- 11. 如何在C中複製文件#
- 12. 如何在Visual C++中複製文件?
- 13. 在C程序中複製文件?
- 14. 將一行文本從文件複製到C++中的字符串中
- 15. Silverlight C# - 如何複製在文本框中單擊的文本行?
- 16. 將行復制到新文件中,除了從c中的文本文件中的特定行#
- 17. 複製多個文本文件的特定行到Excel文件
- 18. 從文件將文本複製到陣列中的類C++
- 19. 從C中的文本文件複製所需的字符串
- 20. 批文件從文本文件中複製文件列表
- 21. 在Win32 C++中,如何啓用靜態文本控件來複制文本?
- 22. 在每行中計算逗號並在文本文件中顯示行號
- 23. 將文本從C中的文本文件複製到字符數組?
- 24. 從C++中的文本框中複製文本
- 25. C#文件複製退回
- 26. C - 遞歸複製文件
- 27. 在C#中使用新進程(),如何將命令行文本複製到文本文件?
- 28. 從文本文件中的特定行復制到Excel
- 29. C函數在UNIX中複製目錄:文件無法複製
- 30. 在C程序中複製文件,但文件爲空
你到目前爲止試過了什麼?這是可能的,但我希望在給你一些建議之前,看看你已經嘗試過了。 – 2012-07-09 10:55:02
當然你可以做到。 – nunespascal 2012-07-09 10:55:48
請多加努力。 – 2012-07-09 10:56:19