none
テキストファイル作成してをセーブダイアログで選択した場所に保存したい。 RRS feed

  • 質問

  • 初めまして。プログラミングの初心者です。

    早速ですが,テキストファイルをセーブダイアログで選択した場所に保存したい  のですがどうすればいいでしょうか。ただ、テキストファイルを作成して保存したいのです。下のような条件を満たしたコードを書いていただけませんでしょうか。

     

    【条件】

    ・テキストファイルを作成する。

    ・テキストファイルの内容は「テスト」

    ・ボタンをクリックしたとき、セーブダイアログを表示して、それで選択した場所にテキストファイルを保存。

     

    説明がわかりにくいかもしれませんが、わかる方お願いします。

     

    2007年4月5日 5:02

すべての返信

  • MSDNライブラリ(ヘルプ)に書いてありますよ。


    方法 : SaveFileDialog コンポーネントを使用してファイルを保存する
    http://msdn2.microsoft.com/ja-jp/library/sfezx97z(VS.80).aspx


    方法 : ファイルにテキストを書き込む
    http://msdn2.microsoft.com/ja-jp/library/6ka1wd3w(VS.80).aspx

     

    まずはMSDNライブラリを調べてください。

    2007年4月5日 5:25
  • すいません。ヘルプをみても全くわかりません。ファイルを保存させることまではできたんですが、テキストファイルを自動で作成してそれを保存する場合はどうしたらいいんでしょうか。

    2007年4月5日 7:04
  • 説明不足でした。パスの部分をセーブダイアログで選択した場所にしたいのですがどうすればいいでしょうか。
    2007年4月5日 7:14
  • とりあえずデザイン画面にて、
    FormにbuttonとSaveFileDialogを配置して
    buttonをダブルクリックして、Clickイベントハンドラに以下のように記述してみてください。

    private void button1_Click(object sender, EventArgs e)

    {

        saveFileDialog1.Filter = "テキストファイ(*.txt)|*.txt";

        if(saveFileDialog1.ShowDialog()==DialogResult.OK){

            using (StreamWriter sw = new StreamWriter(new FileStream(saveFileDialog1.FileName,FileMode.Create),Encoding.Default))

            {  

                sw.WriteLine("テスト");

            }

        }

    }

    2007年4月5日 7:46
  • 早速のお返事ありがとうございました。ですが、その通りにしてみてもエラーが発生しました。

    エラーは「 型または名前空間名 'StreamWriter' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」と「型または名前空間名 'FileStream' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」と「名前 'FileMode' は現在のコンテキスト内に存在しません。」となっています。このエラーに対する解決方法はどうしたらいいでしょうか。

    2007年4月5日 8:34
  •  MMSGT さんからの引用

    早速のお返事ありがとうございました。ですが、その通りにしてみてもエラーが発生しました。

    エラーは「 型または名前空間名 'StreamWriter' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」と「型または名前空間名 'FileStream' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」と「名前 'FileMode' は現在のコンテキスト内に存在しません。」となっています。このエラーに対する解決方法はどうしたらいいでしょうか。

    ファイルの先頭に複数のusing XXXX;があると思います。

    そこに

    using System.IO;

    も追加してみてください。

     

    このusingの後ろに書かれているものは「名前空間」といって同じ状況で使うクラスをまとめて分類するものです。名前を一意にする意味もあります。

    あらゆるクラスの正式な名前は「名前空間名.クラス名」ですが、クラスが出てくるたびに名前空間名まで書くと長くなってしまいます。

    ファイルの先頭に書くusingで名前空間を指定しておけばその名前空間に分類されるクラスに関して、同名のクラスがない限りコードでは「名前空間名.」の部分を省略できるようになります。

    そのエラーがでたときは、ヘルプでそのクラスの名前空間をご確認ください。

    2007年4月5日 8:48
  • 皆さん、本当にありがとうございました。おかげで解決することができました。本当にありがとうございました。
    2007年4月5日 8:56