@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

StreemWriter 文字コード個別指定 に関して

1
投稿者投稿内容
Mako
会議室デビュー日: 2006/05/01
投稿数: 4
投稿日時: 2006-05-01 14:24
いつも大変御世話になっております。
初歩的な質問で申し訳御座いませんが、テキストファイルに、
別々のエンコード方式でファイルに出力したいと考えております。

例)----------------------------
********,◆◆◆◆◆◆,%%%%%
* ・・・JISコード
◆・・・Shift Jis
% ・・・ASCII
-------------------------------

StreamWriter にて出力をおこなっている訳ですが、
コンストラクタにて以下のようにエンコードタイプを指定するとファイル全体が
その文字コードで統一されてしまい困っております。
-----------------------------------------------------------------
Dim Writer As System.IO.StreamWriter
Writer = New System.IO.StreamWriter("c:\testtest.txt", False, Encoding.GetEncoding(50220))
-----------------------------------------------------------------
Writer.Write時点にてエンコードを指定できないようですが、
対処法をご存知の方いらっしゃいましたら御教授ください。
宜しくお願い致します。


[ メッセージ編集済み 編集者: Mako 編集日時 2006-05-01 14:27 ]
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-05-01 14:26
対象の文字コードで書き出す度に、StreamWriter をインスタンス化しなおすのはどうでしょう。
_________________
囚人のジレンマな日々
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2006-05-01 14:31
引用:

囚人さんの書き込み (2006-05-01 14:26) より:
対象の文字コードで書き出す度に、StreamWriter をインスタンス化しなおすのはどうでしょう。


ついでに、この場合先に FileStream を作成して、それを使って StreamWriter を作るようにすると便利です。
書き込みが終了したら StreamWriter を Flush して、次の StreamWriter を作ります(つまり StreamWriter を Close しない)。
全て終了してから、FileStream を Close します。

// しかし奇ッ怪な仕様ですな。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-05-01 14:33
引用:

ついでに、この場合先に FileStream を作成して、それを使って StreamWriter を作るようにすると便利です。
書き込みが終了したら StreamWriter を Flush して、次の StreamWriter を作ります(つまり StreamWriter を Close しない)。
全て終了してから、FileStream を Close します。


いいですね。

引用:

// しかし奇ッ怪な仕様ですな。


どういう目的なのか個人的には非常に気になる。
_________________
囚人のジレンマな日々
Mako
会議室デビュー日: 2006/05/01
投稿数: 4
投稿日時: 2006-05-01 14:44
囚人さん
Hongliangさん

早々の御回答、大変ありがとう御座いました。
感謝致します。

御教授いただきました通り、
文字コードで書き出す度に、StreamWriter をインスタンス化しなおすようにして
実行してみましたら、うまくいきました。

次はHongliangさんから御教授いただいた以下方法でも実装してみたいと思います。
>ついでに、この場合先に FileStream を作成して、それを使って StreamWriter を作る>ようにすると便利です。
>書き込みが終了したら StreamWriter を Flush して、次の StreamWriter を作ります
>(つまり StreamWriter を Close しない)。
>全て終了してから、FileStream を Close します。

// しかし奇ッ怪な仕様ですな。
ホストへの送信データを作成するシステムを作っているのですが
ホスト側が項目によって読み込む文字コードが異なるようなのです。
それで今回この様な対応をしておりました。

大変お世話になりました。
ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-01 15:19
クロスサイトポストリンク。

  StreemWriter 文字コード個別指定 に関して

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Mako
会議室デビュー日: 2006/05/01
投稿数: 4
投稿日時: 2006-05-01 21:25
じゃんぬねっとさん。
リンクを張っていただき、ありがとう御座いました。
1

スキルアップ/キャリアアップ(JOB@IT)