为了方便同事在日常工作中很快速生成大量数据, 我做了文件拷贝的小工具:
其中用到了OpenFileDialog这个类,下面是关于这个类的一些用法!
OpenFileDialog类是用来选择文件位置的,
FolderBrowserDialog 类用来选择文件夹位置.
具体代码如下:
程序源码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace copyFile
{
public partial class Form1 : Form
{
String fileName;
String folderName;
String extendedName;
String fileName1;
public Form1()
{
InitializeComponent();
}
private void browse_Click(object sender,EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog(); //new一个方法
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); //定义打开的默认文件夹位置
ofd.ShowDialog(); //显示打开文件的窗口
fileName = ofd.FileName; //获得选择的文件路径
textBox1.Text = fileName;
extendedName = Path.GetExtension(fileName); //获得文件扩展名
fileName1 = Path.GetFileName(fileName); //获得文件名
}
private void folder_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
folderName = fbd.SelectedPath; //获得选择的文件夹路径
textBox3.Text = folderName;
}
private void ok_Click(object sender, EventArgs e)
{
if (textBox1.Text.Trim().Length == 0)
{
MessageBox.Show("文件路径不能为空!");
return;
}
if (textBox2.Text.Trim().Length == 0)
{
MessageBox.Show("复制数量不能为空!");
return;
}
if (textBox3.Text.Trim().Length == 0)
{
MessageBox.Show("目标文件夹路径不能为空!");
return;
}
String newFile; //定义存储的位置,和存储的名称
for (int i = 1; i <= Convert.ToInt32(textBox2.Text); i++) //从textBox2中获取要复制的次数
{
newFile = folderName + "\\" + fileName1 +"_"+ i.ToString() + extendedName;
; File.Copy(fileName, newFile, true); //使用Copy复制文件, Copy(源文件位置,目标文件夹位置,是否可以覆盖同名文件)
}
MessageBox.Show("复制完成!");
}
}
}
补充:
//获取文件名
Path.GetFileName(OpenFileDialog.FileName)
//获取文件路径
Path.GetDirectoryName(OpenFileDialog.FileName)
//获取文件扩展名
Path.GetExtension(OpenFileDialog.FileName)
if(openFileDialog1.ShowDialog()==DialogResult.OK)