Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
CSV行指定
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=27002#CommentId72818
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2016/2/17 21:48:23
既存のファイル(最大3万行)があり、その中の特定行を書き換えたいということでしょうか。
それとも、特定の位置に行を挿入したいということでしょうか。
「書き換え」だとしたら、置き換える前後のデータが完全に同じサイズの場合に限り
ファイルの部分的な上書きが可能です。
一方、書換え前後でデータサイズが異なる場合や、「挿入」が必要な場合は、
その行以降のデータすべてを再度書き出していかねばなりません。
(以前のデータを読み取り、再出力するコードが必要になる)
> 自分達の予定では3万行になる予定です...。
3 万行ということは、仮に
1 行あたり平均 80 バイトだとすれば 約22MB、
1 行あたり平均 512 バイトだとすれば 約146MB
というサイズになりますね。
そのデータ全体を TextBox に表示したりするのでもない限り、
最近の PC スペックであれば大丈夫だと思います――多分。
ちなみに TextBox は、既定では文字数換算で3万2767文字が上限です。
(MaxLength プロパティを 0 にすれば、それ以上の入力が可能です)
> 最初に言っておけばよかったのですが配列を使って行指定はできるのでしょうか?
できますが、String 配列で管理した場合、行データの挿入操作などはむしろ面倒に
なりますので、併せて List(Of String) 等の利用も検討してみては如何でしょうか。
なお、既存のファイルを String の配列に読み込みたいのであれば、
System.IO.File の ReadAllLines メソッドを使えば OK です。
(必ずしも配列に拘らないなら、System.IO.File の ReadLines メソッドも使えるかも)