ich eine Datei im folgenden Format haben:entfernen Leerraum aus einer Textdatei in Windows Forms-Anwendung
sagchjvcsj kbschjsdchs sudbjsdbl avhsdvbas
sdvbchjbvsdjc kbsadcsadk kskbjdsdcksajdbc kansjdnas ajksbdajsdk
mit der richtigen Reihenfolge white spaces
zwischen den Wörtern. Ich möchte alle extra white spaces
entfernen und nur 1 white space
zwischen den Wörtern lassen. Meine Arbeitsweise ist:
private void buttonBrowse_Click(object sender, EventArgs e)
{
openFileDialogImage.Filter = "Text files | .txt";
openFileDialogImage.Multiselect = false;
DialogResult result = openFileDialogImage.ShowDialog();
if (result == DialogResult.OK)
{
textBoxFileName.Text = openFileDialogImage.FileName;
}
}
private void buttonGo_Click(object sender, EventArgs e)
{
String path = openFileDialogImage.FileName;
using (StreamReader reader = new StreamReader(new FileStream(path, FileMode.Open)))
{
string s = String.Empty;
while ((s = reader.ReadToEnd()) != null)
{
string[] parts = s.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
}
}
}
buttonBrowse
richtig in textBoxFileName
den Dateipfad angezeigt wird, aber wenn ich die Go-Taste (buttonGo
) drücken, Programm ohne Ausgang Einfrieren. Kann jemand bitte führen.
Hit 'Pause All' zu string.Empty ändern, während das Programm ausgeführt wird, und sieht, wo die Ausführung ist. Durchschreiten und sehen, was passiert. – Blorgbeard
Nicht verwandt (denke ich), aber es gibt keinen Grund, 'reader.Close()' aufzurufen, wenn Sie eine 'using'-Anweisung verwenden. –
@GrantWinney, das stimmt. Danke – Jogi