[トピック内 3 記事 (1 - 3 表示)] << 0 >>
C#フォームアプリケーションで文字列をcsvファイルに書き込むプログラムを作成しています。 SaveFileDialog sfd = new SaveFileDialog(); sfd.FileName = "書き込みファイル.ini"; sfd.InitialDirectory = @""; sfd.Filter = "書き込みファイル(*.csv)|*.csv|すべてのファイル(*.*)|*.*"; sfd.FilterIndex = 1; sfd.Title = "保存先のファイルを選択してください"; sfd.RestoreDirectory = true; sfd.OverwritePrompt = true; sfd.CheckPathExists = true; //ダイアログを表示する if (sfd.ShowDialog() == DialogResult.OK) { System.IO.Stream stream; stream = sfd.OpenFile(); if (stream != null) { System.IO.StreamWriter sw = new System.IO.StreamWriter(stream); sw.Write(String1); } sw.Close(); stream.Close(); } 上記だと文字化けしてしまうので、StreamWriterでEncoding.GetEncoding("shift_jis") を使いたいのですが、 System.IO.StreamWriter sw = new System.IO.StreamWriter(stream,false,System.Text.Encoding.GetEncoding("shift_jis")); だとコード自体がエラーになってしまいます。 saveFileDialog()を活用しつつ、StreamWriterでEncoding.GetEncoding("shift_jis")を使用するには どうしたら良いでしょうか? 初心者的質問ですいません。
■No96821 (WebSurfer さん) に返信 > ■No96820 (ストーンヘッジ さん) に返信 > >>System.IO.StreamWriter sw = new System.IO.StreamWriter(stream,false,System.Text.Encoding.GetEncoding("shift_jis")); >> >>だとコード自体がエラーになってしまいます。 saveFileDialog()を活用しつつ、StreamWriterでEncoding.GetEncoding("shift_jis")を使用するには >>どうしたら良いでしょうか? > > StreamWriter コンストラクタ (Stream, Encoding) というオーバーロードがありますので、それを使って > はいかがですか? ご回答いただきありがとうございます。 返事が遅くなってしまい申し訳ありません。 お教えの通り(Stream,Encoding)を使い下記のようにしますと、文字化けせず書き出すことができました。 System.IO.StreamWriter sw = new System.IO.StreamWriter(stream,Encoding.GetEncoding("shift_jis")); ありがとうございました。
このトピックをツリーで一括表示
管理者用
- Child Tree -