WriteLine

タグの編集
投稿者 ugonight  (中学生) 投稿日時 2011/4/29 15:46:07
ファイルの2・3行目だけを書き換える方法を教えてください!
(例)あ
   う
   い
   え
   お
       ☟
   あ
   い
   う
   え
   お
投稿者 YuO  (社会人) 投稿日時 2011/4/29 16:15:33
根本的に,ファイルの「行」という単位で書き換える方法はありません。
全部読み込んで,必要な部分をメモリ上で書き換えて,書き込む,というのが基本です。
# サイズによっては別ファイルに別途書き込んでいく方がよいかもしれない。

今回の場合,サイズが変わらないのでバイナリで取り扱えばできなくもないですが……。
投稿者 るきお  (社会人) 投稿日時 2011/4/29 23:24:23
>全部読み込んで,必要な部分をメモリ上で書き換えて,書き込む
をできるだけ楽して書くとこんな感じです。
Dim lines() As String = IO.File.ReadAllLines("C:\vb\test.txt")
lines(1) = "い"
lines(2) = "う"
IO.File.WriteAllLines("C:\vb\test.txt", lines)


ファイルの読み書きでは文字コードを指定しないとUTF-8として扱われるので注意してください。
上記の例は文字コードを指定していないので読み込みも書き込みもUTF-8で行います。
投稿者 ugonight  (中学生) 投稿日時 2011/5/1 23:22:29
ありがとうございます!
いろいろ難しいことを考えていたのですが意外と簡単そうなので安心しました。
投稿者 (削除されました)  () 投稿日時 2011/5/2 17:59:45
(削除されました)