- 題名: StreamWriterでファイルに出力
- 日時: 2005/11/17 0:10:27
- ID: 13747
- この記事の返信元:
- (なし)
- この記事への返信:
- [13748] Re[1]: StreamWriterでファイルに出力2005/11/17 2:33:03
- ツリーを表示
■No13747に返信(ユウさんの記事)
> どうして途中でファイルに書き込まれなくなるのかを教えて下さい。
Close していないからです。
Close は Try 〜 Finally を使用して確実にされるように実装してください。
http://jeanne.wankuma.com/tips/programing/01-dispose.html
また、提示されたコードですと、行数の確認がしにくいので以下のようなコードで確認しました。
参考になれば幸いです。
Private Shared Sub OneMethod()
Dim testStrings As String() = New String(357) {}
Dim hWriter As System.IO.StreamWriter
Try
hWriter = New System.IO.StreamWriter("C:\Test.txt")
For i As Integer = 0 To testStrings.Length - 1
testStrings(i) = "[" & i.ToString() & "]"
hWriter.WriteLine(testStrings(i))
Next i
Finally
If Not hWriter Is Nothing Then
hWriter.Close()
End If
End Try
End Sub
分類:[.NET]
よろしくお願いします。
現在コンソールアプリケーション作成していて、配列内の文字列をファイルへ出力したいと思っています。
途中まではファイルへ出力されるのですが、毎回同じ場所でファイルに書き込まれなくなります。
エラー等はでていません。
StreamWriterを使わず、FileOpenとPrintとFileCloseを使用してファイルへ出力した場合は、配列内の文字列は全て出力されています。
以下に再現するコードを書きます。
どうして途中でファイルに書き込まれなくなるのかを教えて下さい。
よろしくお願いします。
(他の方が試して再現しなかったらどうしよ…。)
Sub Main()
Dim test(357) As String
Dim OutFile As System.IO.StreamWriter
Dim i As Integer
OutFile = New System.IO.StreamWriter("C:\test.txt")
For i = 0 To 357
test(i) = "123456789abcdef"
OutFile.WriteLine(test(i))
Next
End Sub