電子書籍の厳選無料作品が豊富!

環境:VS2005 C#

プログラム上でコメントアウトしてある様なやり方ではなく、
一旦、一時ファイルを作成しそのファイルをダイアログで保存先を任意のフォルダに保存したいのですがやり方はあるのでしょうか?

OpenFileDialog ofd = new OpenFileDialog();

//一時ファイルを作成する
string file_name = Path.GetTempFileName();
System.IO.StreamWriter writer = new StreamWriter(file_name);
writer.WriteLine("tmptest");
writer.Close();

//ダイアログを表示
ofd.ShowDialog();

/*******************************▼コメントアウト
System.IO.Stream stream;
stream = ofdfilecommit.OpenFile();
if (stream != null)
{
//ファイルに書き込む
System.IO.StreamWriter sw = new System.IO.StreamWriter(stream, 文字コード);
sw.WriteLine("test");
//閉じる
sw.Close();
stream.Close()
}
********************************▲コメントアウト*/
//オブジェクトの破棄
ofd.Dispose();

ご協力お願いします。

A 回答 (1件)

単純にsavefileDialogを利用して保存するには



//##### ソース #####
// 変数の初期化
string fname = "";
string url = "";

// ファイル名 保存場所を指定させる
DialogResult result = saveFileDialog.ShowDialog();
if (result == DialogResult.OK)
{

// コピー元のファイルのパス
url = "一時ファイルのパス";
// コピー先のファイル名、パスを格納
fname = saveFileDialog.FileName;

// ファイルのコピー処理
FileSystem.CopyFile(url, fname,
UIOption.AllDialogs, UICancelOption.DoNothing);
}

このような感じで保存した一時ファイルをコピーもしくは移動してあげればいいのではないでしょうか?

上記のまま使うのであれば、"Microsoft.VisualBasic.FileIO"をusingしないと駄目ですけど…。

的外れでしたらごめんなさい。
    • good
    • 0
この回答へのお礼

meru_dis様ありがとうございます。

1.savefileDialogからしていされたパスを取得する。
2.一時ファイルを指定されたパスにコピーする。
3.一時ファイルの削除する。

1~3の手順で実現できました。
ただこの様な手法は行儀がいいのかなぁ?なんて思っています。

お礼日時:2008/02/17 00:28

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