掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストファイルの途中に改行を挿入するには? (ID:117170)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ガッさん、Sayさん返事ありがとうございます。 一応解決しました。 .NET VBで作ってます。 詳細な説明がないなかで推測で書いていただいてありがとうございます。 ただ、XMLファイルを扱っておりまして、ファイルサイズが極端に大きく なるケースを想定しなくてはならず、String型の結合は行わない方が よいと思い、バイナリ形式で2つのファイルをオープンして1文字ずつ 書き込んでいくやりかたで、なんとか解決しました。 .NETでは、バイナリファイルの扱いがよくわからなかったものですから 過去ログを参考にしてなんとか対処しました。 業務アプリで、XMLを読み込む側のPGがどうしても、ヘッダ部の後にある 改行を意識しているものですから、こちらのPGでMSXMLのDOMを使って SAVEを行うと、自動的に、改行をとられてしまうのです。 それで、1行目だけ改行を入れるという処理を必要としました。 ちなみにこんな感じでやりました: '* 1行目だけ改行を入れる Dim strWkFile as String = "c:\original.xml" Dim strWkFile as String = "c:\work.xml" Dim inFile As New System.IO.FileStream(strWkFile, IO.FileMode.Open) Dim outFile As New System.IO.FileStream(strWkFile2, IO.FileMode.OpenOrCreate) Dim sr As New System.IO.BinaryReader(inFile) Dim sw As New System.IO.BinaryWriter(outFile) Dim strBuf As String strBuf = "<?xml version=""1.0"" encoding=""UTF-8""?>" + vbCrLf '* ヘッダ文字列 Dim bs() As Byte = System.Text.Encoding.UTF8.GetBytes(strBuf) '* バイナリへ変換 sw.Seek(0, IO.SeekOrigin.Begin) sw.Write(bs, 0, bs.Length) '* 読み込みファイルをシークする sr.ReadChars(39) '* 1文字ずつ読み込んで書き込む Do While (sr.PeekChar() <> -1) sw.Write(sr.ReadByte()) Loop inFile.Close() outFile.Close() お騒がせしました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.