0

次のコードがあります。

If line = Nothing Then
    MsgBox("Login failed.")
        Using sw As New StreamWriter(File.Open(Index.strLogPath, FileMode.OpenOrCreate)) ' open or create a new file at our path
        sw.BaseStream.Seek(0, SeekOrigin.End) ' append new users to the end
        sw.AutoFlush = True
        sw.WriteLine("line is nothing")
        sw.Flush()
        sw.Close()
        End Using

End If

私の行 = 何も条件が満たされていない場合、メッセージボックスがポップアップして通知しますが、ファイルは作成されません。ファイルがそこにある場合、何も追加されません。

私はパスの有効性をチェックし、アプリケーションがそこにアクセス許可を持っていることを確認しました。私が考えることができるすべてが機能していません。さらにイライラすることに、エラーはありません! どんな助けでも大歓迎です。

4

1 に答える 1

1

Fileこのクラスには、まさにそれを行うためのユーティリティ メソッドが既にあることをご存知でしたか?

File.AppendAllText(Index.strLogPath, "line is nothing")

それと同じくらい単純なはずです。:)

編集

ファイル ストリームを自分で管理する必要がある場合は、次の方法を試してください。

    Using sw As New StreamWriter(File.Open(Index.strLogPath, FileMode.Append)) ' open or create a new file at our path
        sw.WriteLine("line is nothing")
    End Using

興味がある点:

  • FileMode.Appendの代わりに使用OpenOrCreate
  • フラッシュまたはクローズする必要はありません。これは、「using」ブロックを離れると自動的に行われます。
于 2013-11-02T21:47:58.233 に答える