Я пытаюсь закодировать программу на C#, сортирующую текстовый файл, содержащий фамилию, за которой следует запятая, и за ней следует имя. Как я могу описать его текстовое имя в алфавитном порядке.сортировка текстового файла по алфавиту в C#
-3
A
ответ
5
Существует множество вариантов, в зависимости от деталей. Непроверенный, но что-то вроде этого должно быть близко.
string inFile = @"C:\someInFile.txt"
string outFile = @"C:\someOutFile.txt"
var contents = File.ReadAllLines(inFile);
Array.Sort(contents);
File.WriteAllLines(outFile, contents)
+0
Упрощенный, здесь использовались два текстовых файла, Возможно, он использовал тот же файл для записи вывода. – Kurubaran
+0
Это действительно просто. Благодаря! –
0
Это VB.NET, но перевод должен быть легким:
Public Sub FileCreateReadAndSort()
'Read data from database and write to unsorted text file
Dim dv As DataView = DataLib.QryToData("select * from gen where rn<10", EnumLib.DBList.Gen, EnumLib.DataObj.DataView)
Dim S As String = ""
For i As Integer = 0 To dv.Count - 1
With dv(i)
S = S & RTrim(.Item("surname")) & ", " & RTrim(.Item("name")) & vbCrLf
End With
Next
Dim SW As IO.StreamWriter = New IO.StreamWriter("c:\temp\fileOriginal.txt")
SW.Write(S)
SW.Flush()
SW.Close()
SW.Dispose()
'read in unsorted text file
Dim SR As IO.StreamReader = New IO.StreamReader("c:\temp\fileOriginal.txt")
Dim S2 As ArrayList = New ArrayList
Do While Not SR.EndOfStream
S2.Add(SR.ReadLine)
Loop
'sort file lines and write to sorted file
Dim S3 As Array = S2.ToArray
Array.Sort(S3)
Dim SW2 As IO.StreamWriter = New IO.StreamWriter("c:\temp\fileSorted.txt")
For i As Integer = 0 To S3.Length - 1
SW2.Write(S3(i) & vbCrLf)
Next i
SW2.Flush()
SW2.Close()
SW2.Dispose()
End Sub
Надеется, что это помогает!
Dave
0
Вы можете использовать это,
FileStream readerStream = new FileStream(@"Desktop\Source\text.txt", FileMode.Open);
string[] content = null;
//Read the content
using (StreamReader reader = new StreamReader(readerStream))
{
content = reader.ReadToEnd().Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
//Remove the entries in the file
readerStream.SetLength(0);
}
FileStream writerStream = new FileStream(@"Desktop\Source\text.txt", FileMode.OpenOrCreate);
using (StreamWriter writer = new StreamWriter(writerStream))
{
//Sort the content and write back to the same file
Array.Sort(content);
writer.Write(string.Join(Environment.NewLine, content));
}
Смежные вопросы
- 1. Сортировка файла по алфавиту
- 2. Сортировка csv-файла по алфавиту
- 3. C: Сортировка списка по алфавиту
- 4. Сортировка результатов по алфавиту
- 5. Сортировка связанного списка по алфавиту в C
- 6. 2D-массив: по алфавиту Сортировка по C
- 7. Сортировка имен по алфавиту в C
- 8. Сортировка вектора объектов по алфавиту в C++
- 9. Сортировка массива по алфавиту в C#
- 10. C# сортировка текстового файла
- 11. Сортировка строки по алфавиту
- 12. Сортировка кортежей по алфавиту
- 13. Сортировка по алфавиту javascript
- 14. Сортировка кнопок по алфавиту
- 15. Сортировка NsmutableDictionary по алфавиту
- 16. DB2 - сортировка по алфавиту
- 17. Сортировка по алфавиту TextBox.Text
- 18. Сортировка отбирает по алфавиту
- 19. Сортировка списка по алфавиту
- 20. Сортировка массивов по алфавиту
- 21. Сортировка строк по алфавиту
- 22. Сортировка по алфавиту
- 23. Сортировка по алфавиту Баш
- 24. Сортировка по алфавиту immutable.js
- 25. Сортировка по алфавиту ArrayList
- 26. JavaBeans - Сортировка по алфавиту
- 27. Сортировка элементов по алфавиту
- 28. Сортировка NSArray по алфавиту
- 29. Ошибка при сортировке текстового файла по алфавиту
- 30. Нужна помощь сортировки по алфавиту текстового файла
где код? введите здесь некоторый код, который поможет ответить на вашу проблему. – ketan
это мой первый раз codding с C# Я понятия не имею, как это сделать, мне нужно сделать это из Scrach здесь не несколько примеров: – user3795105
имен cse1302_Lecture18_FileIO_Prez { класс Программа { статической силы Main (string [] арг) { StreamReader sr = новый StreamReader ("NameInput.txt"); // если файл в bin/debug char [] delims = {','}; // string [] names = {"", ""}; while (! Sr.EndOfStream) { string data_line = sr.ReadLine(); // names = data_line.Split (delims); Console.WriteLine (data_line); } sr.Close(); – user3795105