プロが教えるわが家の防犯対策術!

テキストファイル("c:\test.txt")に「かきくけこ」と全角5文字で1行のデータがあるとします。
このテキストファイルに「あいうえお」を先頭に追加で書き込みたいのですが、どうすればいいのでしょうか?
あくまで「かきくけこ」を変数化せずファイルに直接、書き込む方法がある場合、教えてください。

'テキストファイルを開いたときの内容
あいうえお
かきくけこ


ちなみにですが、テキストファイル("c:\test.txt")に「かきくけこ」と全角5文字で1行のデータがあるとして、
末尾に「さしすせそ」を追加で書込みする方法は下記の通りでした。

'ファイルを書き込み用に開く、指定したファイルがない場合は作成する
dim fsFile As System.IO.FileStream = _
System.IO.File.OpenWrite("c:\test.txt")
'StreamWriterオブジェクトを作成し、テキストデータが書き込めるようにする
Dim sw As System.IO.StreamWriter = _
New System.IO.StreamWriter(fsFile)
'ファイルの末尾に移動する
sw.BaseStream.Seek(0, System.IO.SeekOrigin.End)
'データを書き込む
sw.WriteLine("さしすせそ")
'ファイルを更新する
sw.Flush()
'ファイルを閉じる
sw.Close()
fsFile.Close()

'テキストファイルを開いたときの内容
かきくけこ
さしすせそ

A 回答 (4件)

必ず先頭か末尾ということなら


コマンドプロンプトでCOPYを使えばどうでしょう。
COPY AAA.TXT+BBB.TXT CCC.TXT
は、AAA.TXT(新規)の内容とBBB.TXT(既存)の内容が連結されてCCC.TXTになります。
    • good
    • 0
この回答へのお礼

おぉーできましたー
バッチにしてVBから実行したいと思います。
ありがとうございます。

お礼日時:2006/06/01 01:56

>やっぱり「あいうえお」+バッファの方法ですよね…


質問される前に想像されていたと思いますが、、、だと思います。。。

>もしもバッファが1GBにも及ぶ場合でも、
しかないかと思います。

「そのテキストファイルを利用するという仕様を変えてみては?」としかアドバイスが出来ません。
せっかくの.NETなので、XMLを利用するとか。。。

であれば、思いのままの位置に挿入も出来ますし、削除も可能ですしね。
    • good
    • 0

"ファイルに直接、先頭に追加で書き込む"というような方法はありません。

    • good
    • 0

>先頭に追加で書き込みたいのですが


>末尾に「さしすせそ」を追加で書込みする方法は下記の通りでした

同様な手法での、先頭への追加方法は、存在しないと思います。

っていうか、確かに
・「さしすせそ」は、文末への追加
ですが、
・「あいうえお」は、先頭への挿入
ですよね。

APIでも存在してないと思うので、もしフレームで用意されていたとしても、内部処理はバッファを読み込んで「あいうえお」+バッファの出力をすることになると思います。

この回答への補足

やっぱり「あいうえお」+バッファの方法ですよね…
別の状況として、もしもバッファが1GBにも及ぶ場合でも、先頭に挿入する文字列+バッファなんですかね?

補足日時:2006/05/31 08:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!