2016-04-13 11 views
-2

Ich überprüfe Datei ist vorhanden, wenn angegeben, und wenn ja, ich ersetze einzelnes Zitat von & # 39. Dazu benutze ich die WriteAllText Methode. Für mein Wissen wird WriteAllText zu Create file and write the text and close it, target file is already exists, it will be overwritten verwendet.Datei wird von einem anderen Prozess bei der Verwendung von WriteAllText in c verwendet #

Ich weiß nicht, warum ich System.IOException bin immer während

var file = AppDomain.CurrentDomain.BaseDirectory + "test"; 
if (Directory.Exists(file)) 
{ 
    string text = File.ReadAllText(file + "\\test.txt"); 
    text = text.Replace("'", "&#39"); 
    File.WriteAllText(file + "\\test.txt", text); 
} 

Hinweis verwendet: ich diese innerhalb Application_BeginRequest Methode verwenden.

Schlagen Sie mir vor, wie Sie diese Ausnahme vermeiden können?

+0

überqueren Sie eine andere Anwendung überprüfen (wie Notepad usw. .) Verwenden Sie es .. –

+0

Wenn Sie die 'IOException' erhalten, was sagt es ist die' InnerException'? Das sollte dir eine Vorstellung davon geben, was falsch läuft. – Tone

Antwort

0

Code verwenden, wie unten

  var file = AppDomain.CurrentDomain.BaseDirectory + "test.txt"; 
      if (File.Exists(file)) 
      { 
       string text = File.ReadAllText(file); 
       text = text.Replace("'", "&#39"); 
       File.WriteAllText(file, text); 
      } 

Hoffnung das Ihr Problem

0

Zum einen lösen, Sie fragen auf Existenz von Directory während Existenz mit

Directory.Exists(file) 

Um zu überprüfen, der Datei, die Sie verwenden müssen

File.Exists(file) 

Zweitens Sie versuchen ReadAllText aus der Datei, indem Sie als Parameter die Datei mit dem Dateinamen verkettet erneut übergeben. So ist die Dateinamen sind vorbei ist eigentlich:

AppDomain.CurrentDomain.BaseDirectory + "test.txt" + "\\test.txt"; 

Drittens gleichen Kommentar für WriteAllText wie für ReadAllText.

Es gibt viele Beispiele auf dem Netz zu lernen, wie aus einer Datei, zum Beispiel lesen und schreiben:

Read from a Text File - MSDN
Write to a Text File - MSDN

+0

Entschuldigung. Test ist mein Verzeichnis. Ich habe meinen Code bearbeitet. – Shesha

+0

Sie sollten Ihren Variablen aussagekräftige Namen geben. Rufen Sie die Datei nicht zu einer Variablen auf, die ein Verzeichnis darstellt. Rufen Sie zum Beispiel DirectoryPath oder folderPath auf. Haben Sie nach der Korrektur noch Probleme? – ehh

+0

Ich habe eine Bedingung hinzugefügt, um zu überprüfen, ob die Datei einfache Anführungszeichen hat. if (text.Contains ("'")). Jetzt bekomme ich nicht die Ausnahme. – Shesha

Verwandte Themen