16 Stimmen

Lesen Sie eine Textdatei aus dem lokalen Ordner

Ich möchte eine Textdatei aus meinem lokalen Verzeichnis lesen. Ich habe die Textdatei meiner C#-Lösung hinzugefügt, damit sie beim Bereitstellen kopiert wird.. aber wie öffne ich sie? Ich habe gesucht, aber alle Beispiele nehmen an, dass ich eine C:\textfile.txt habe:

Ich habe versucht, die Datei einfach zu lesen

if (File.Exists("testfile.txt"))
{
   return true;
}

Das hat nicht funktioniert. Dann habe ich es mit folgendem versucht:

if (File.Exists(@"\\TextConsole\testfile.txt"))
{
   return true;
}

aber es öffnet sich immer noch nicht.. irgendwelche Ideen??

36voto

Stan R. Punkte 14887

Nur weil Sie es zu Ihrer Lösung hinzugefügt haben, bedeutet nicht, dass die Datei in Ihrem Ausgabe-Build-Verzeichnis platziert wird. Wenn Sie einen relativen Pfad verwenden möchten, stellen Sie sicher, dass Ihre Textdatei während des Builds in das Ausgabeverzeichnis kopiert wird. Gehen Sie dazu im Lösungsexplorer zu den Eigenschaften der Textdatei und setzen Sie Kopieren in Ausgabeverzeichnis auf Immer oder Kopieren, wenn neuer

Dann können Sie verwenden

File.Open("textfile.txt");

7voto

Asad Punkte 20514

Sie müssen nach der Überprüfung, die Sie gemacht haben, eine der folgenden verwenden

 string pfad = @"\\TextConsole\testfile.txt";
 if (File.Exists(pfad))
 {
  FileStream dateiStream = File.OpenRead(pfad); // oder
  TextReader textReader = File.OpenText(pfad); // oder
  StreamReader sreamReader = new StreamReader(pfad);
 }

2voto

Kamruzzaman Punkte 1373

Dieses Beispiel liest den Inhalt einer Textdatei zeilenweise in einen String, indem die ReadLine Methode der StreamReader Klasse verwendet wird. Jede Textzeile wird in den String "line" gespeichert und auf dem Bildschirm angezeigt.

  int counter = 0;
  string line;

// Die Datei lesen und Zeile für Zeile anzeigen.
System.IO.StreamReader file =  new System.IO.StreamReader("c:\\test.txt");

while((line = file.ReadLine()) != null)
{
   Console.WriteLine (line);
   counter++;
}

file.Close();

// Bildschirm anhalten.
Console.ReadLine();

Referenz http://msdn.microsoft.com/en-us/library/aa287535%28v=vs.71%29.aspx

1voto

CPHPython Punkte 9094

Wie [Bobby in einem Kommentar erwähnt hat](http://Path.Combine(Environment.CurrentDirectory,), hat es bei mir funktioniert, indem ich einfach PathCombine im aktuellen Ordner verwendet habe:

string txtPath = Path.Combine(Environment.CurrentDirectory, "testfile.txt")

0voto

Oded Punkte 475566

Wenn die Datei tatsächlich in c:\textfile.txt ist, finden Sie sie so:

if (File.Exists(@"c:\testfile.txt"))
{
   return true;
}

Aber Sie sollten Path.Combine verwenden, um einen verschachtelten Dateipfad zu erstellen, und DriveInfo verwenden, um mit Laufwerksdetails zu arbeiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X