4
// Browses file with OpenFileDialog control

    private void btnFileOpen_Click(object sender, EventArgs e)
    {
        OpenFileDialog openFileDialogCSV = new OpenFileDialog();

        openFileDialogCSV.InitialDirectory = Application.ExecutablePath.ToString();
        openFileDialogCSV.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*";
        openFileDialogCSV.FilterIndex = 1;
        openFileDialogCSV.RestoreDirectory = true;

        if (openFileDialogCSV.ShowDialog() == DialogResult.OK)
        {
            this.txtFileToImport.Text = openFileDialogCSV.FileName.ToString();
        }

    }

上記のコードでは、開くファイルを参照しています。私がやりたいことは、ファイルを参照して選択し、[OK] を押すことです。[OK] をクリックすると、選択したファイルのコピーを作成し、その複製ファイルに .txt 拡張子を付けます。これを達成するには助けが必要です。

ありがとう

4

3 に答える 3

8
if (openFileDialogCSV.ShowDialog() == DialogResult.OK)
{
    var fileName = openFileDialogCSV.FileName;
    System.IO.File.Copy( fileName ,Path.Combine(Path.GetDirectoryName(fileName), Path.GetFileNameWithoutExtension(fileName)+".txt"));
}

上記のコードは、選択したファイルをtxtとして同じ名前で同じディレクトリにコピーします。

既存のファイルを同じ名前で上書きする必要がある場合は、Copy メソッドに別のパラメーターを true として追加します。

System.IO.File.Copy(source, destination, true);

于 2012-06-21T08:08:54.357 に答える
1

File.Copyを次のように使用します。

File.Copy(openFileDialogCSV.FileName., openFileDialogCSV.FileName + ".txt");
于 2012-06-21T07:57:17.820 に答える
0

これを試して

private void btnFileOpen_Click(object sender, EventArgs e)
    {
        OpenFileDialog openFileDialogCSV = new OpenFileDialog();

        openFileDialogCSV.InitialDirectory = Application.ExecutablePath.ToString();
        openFileDialogCSV.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*";
        openFileDialogCSV.FilterIndex = 1;
        openFileDialogCSV.RestoreDirectory = true;

        if (openFileDialogCSV.ShowDialog() == DialogResult.OK)
        {
            this.txtFileToImport.Text = openFileDialogCSV.FileName.ToString();
    System.IO.File.Copy(this.txtFileToImport.Text,"C://123.txt")
        }

    }

123 は任意のファイル名に変更できます。

于 2012-06-21T07:57:51.883 に答える