我正在使用sharp develop。我正在使用C#製作一個Win App。我希望我的程序在驅動器c:中檢查名爲test的文本文件,並找到包含「=」的行,然後將此行寫入驅動器c:中的其他新創建的文本文件。使用c編寫從一個文本文件到其他文本文件的特定行#
回答
你嘗試過什麼嗎?
這裏有兩種方法來讀取文件:
使用靜態的文件類可用的方法。 ReadAllLines是特定的。如果你正在處理小文件,這已經足夠了。接下來,一旦擁有數組,只需使用LINQ或任何其他迭代方法找到帶有「=」的項目。一旦獲得了該行,再次使用File類創建數據並將其寫入該文件。
如果您正在處理大文件,請使用Stream。休息仍然相同。
using(StreamWriter sw = new StreamWriter(@"C:\destinationFile.txt"))
{
StreamReader sr = new StreamReader(@"C:\sourceFile.txt");
string line = String.Empty;
while ((line = sr.ReadLine()) != null)
{
if (line.Contains("=")) { sw.WriteLine(line)); }
}
sr.Close();
}
你還沒有關閉'StreamReader'類的'file'對象,並且已經關閉了'sw'對象,因爲它被'using'包裝了,所以它不需要關閉。請更正這些。 – Aamir
是的,謝謝,我忘了關閉流。 –
嘗試使用下面的襯板:
File.WriteAllLines(destinationFileName,
File.ReadAllLines(sourceFileName)
.Where(x => x.Contains("=")));
Boss,是'.Where(x => x.Contains(「=」)'是拉姆達表達式嗎? –
@Daredev - 是的,它是。 – Enigmativity
下面是使用File.ReadLines
另一種簡單的方法,LINQ的的Where
和File.AppendAllLines
var path1 = @"C:\test.txt";
var path2 = @"C:\test_out.txt";
var equalLines = File.ReadLines(path1)
.Where(l => l.Contains("="));
File.AppendAllLines(path2, equalLines.Take(1));
if (File.Exists(txtBaseAddress.Text))
{
StreamReader sr = new StreamReader(txtBaseAddress.Text);
string line;
string fileText = "";
while ((line = sr.ReadLine()) != null)
{
if (line.Contains("="))
{
fileText += line;
}
}
sr.Close();
if (fileText != "")
{
try
{
StreamWriter sw = new StreamWriter(txtDestAddress.Text);
sw.Write(fileText);
sw.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
位編輯Furqan的答案
using (StreamReader sr = new StreamReader(@"C:\Users\Username\Documents\a.txt"))
using (StreamWriter sw = new StreamWriter(@"C:\Users\Username\Documents\b.txt"))
{
int counter = 0;
string line = String.Empty;
while ((line = sr.ReadLine()) != null)
{
if (line.Contains("="))
{
sw.WriteLine(line);
if (++counter == 4)
{
sw.WriteLine();
counter = 0;
}
}
}
}
這不起作用 –
對不起,我現在檢查它 –
now其正確的 –
- 1. 從一個文本文件提取特定的行到其他文本文件
- 2. 將文本文件的特定行寫入文本文件 - Python
- 3. 批文件將文本文件從一個文本文件複製到其他文本文件
- 4. 使用sed編寫一個腳本,將一行文本從一個文件複製到另一個文件
- 5. 批處理文件將特定行從一個文本文件複製到另一個文本文件
- 6. 使用c編輯文本文件中的特定行#
- 7. 在特定點寫文本到某個文本文件Java
- 8. 如何找到在一個文本文件中的特定行,並與其他
- 9. 查找文件中的特定文本並用其他文本換行
- 10. 使用python從一個文件寫入特定的行到另一個文件
- 11. 使用單字過濾一個文本文件與其他文本文件
- 12. 用C++重寫一個文本文件
- 13. 寫一個Netcat流到文件與其他文本
- 14. 將文本寫入文本文件中的特定點C#
- 15. 從一個文件重寫到其他
- 16. 編輯文本文件特定行
- 17. 從其他文件中的文本行中替換文本
- 18. 在文本文件替換行與其他文本文件
- 19. 從文本文件中,捕獲文本閱讀,寫信給在特定的語法另一個文本文件
- 20. 從Octave中的其他腳本文件運行腳本文件
- 21. 如何識別文件是一個文本文件或其他使用c#.net
- 22. 複製多個文本文件的特定行到Excel文件
- 23. 將包含文件夾中特定文本的文件從文件夾複製到其他文件夾
- 24. 使用C++從文本文件讀取特定行
- 25. 寫一個文本文件
- 26. 批 - 從一個文件複製特定文本到另一個
- 27. 寫入一個文本文件C#
- 28. 比較文本文件 - 使用VB編寫Igonring一些文本
- 29. 使用Java語言編寫到一個文本文件
- 30. 使用Java語言編寫到一個文本文件
您是否希望只輸出帶有「=」或所有這些行的第一行?如果源文件中沒有「=」,你希望目標文件被重寫,但是是空的還是單獨留下? – Enigmativity