2016-04-13 3 views
-2

指定された場所にファイルが存在するかどうかを確認している場合は、一重引用符を&#39に置き換えます。このため私はWriteAllTextメソッドを使用しています。私の知識のためにWriteAllTextはCreate file and write the text and close it, target file is already exists, it will be overwrittenに使用されます。CでWriteAllTextを使用している間に別のプロセスがファイルを使用しています。

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); 
} 

注使用している間、私はSystem.IOException取得していますなぜ私は知らない:を私は、この内部Application_BeginRequestメソッドを使用しています。

この例外を回避するにはどうすればよいですか?

+0

ただ、メモ帳などの他のアプリケーション(、などを検証交差。)それを使用して.. –

+0

あなたは 'IOException'を得るとき、それは' InnerException'ですか?それはあなたに何がうまくいかないかのアイデアを与えるはずです。 – Tone

答えて

0

有無をチェックするために

Directory.Exists(file) 

を使用しているときは、ディレクトリの存在を求めている、これはあなたの問題まず

0

を解決するよう希望

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

の下にあなたのコードを使用しますあなたが使用する必要があるファイルの一覧

File.Exists(file) 

第2に、 ファイル名を連結したファイルをパラメータとして再度渡して、ファイルからReadAllTextを取得しようとしています。だから、あなたが渡しているファイル名は、実際には次のとおりです。第三に

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

、ReadAllText用としてWriteAllTextための同じコメント。

例えば、ファイルから読み書きする方法については、ネット上の多くの例があります。

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

+0

申し訳ありません。テストは私のディレクトリです。私は自分のコードを編集しました。 – Shesha

+0

変数に意味のある名前を付ける必要があります。ディレクトリを表す変数にファイルを呼び出さないでください。たとえばdirectoryPathまたはfolderPathを呼び出します。それを修正した後、まだ問題はありますか? – ehh

+0

ファイルに一重引用符があるかどうかを確認するための条件を追加しました。 if(text.Contains( "'"))。今私は例外を取得していません。 – Shesha

関連する問題