每次调试时都会告诉我找不到filename文件,当我把 string sourcePath = "filename";改成 string sourcePath = "txtwenjian1.Text";时,还是相同的提示。
openFileDialog1.Multiselect = true; //可以选择多个文件
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
txtwenjian1.Text = openFileDialog1.FileName;
string filename = Path.GetFileName(openFileDialog1.FileName);
}
Directory.CreateDirectory("wenjian.in");
MessageBox.Show(txtwenjian1.Text);
string sourcePath = "filename";
string targetPath = "wenjian.in";
bool isrewrite = false;//是否覆盖已存在的同名文件
File.Copy(sourcePath,targetPath,isrewrite);
------解决思路----------------------
File.Copy,第一个参数是原文件绝对路径
比如D:\Test\1.txt这种
------解决思路----------------------
txtwenjian1.Text是个变量啊
filename也是个变量啊
不要把变量放到双引号里!!!
------解决思路----------------------
string s="123";
string s1="s";
现在我问你,s1里存的是个什么字符串,是"123"还是"s"?这你总知道吧?
------解决思路----------------------
string s1="s";
和
string s1=s;
完全不是一回事
------解决思路----------------------
openFileDialog1.Multiselect = true; //可以选择多个文件
string filename; //放在if外面声明,否则下面访问不到这个变量
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
txtwenjian1.Text = openFileDialog1.FileName;
filename = Path.GetFileName(openFileDialog1.FileName); //你这里面的赋值都有问题,OpenFileDialog开启了多选,你这样写死了,你选了多个文件怎么办?
}
Directory.CreateDirectory("wenjian.in");
MessageBox.Show(txtwenjian1.Text);
string sourcePath = filename; //修改成这样
string targetPath = "wenjian.in";
bool isrewrite = false;//是否覆盖已存在的同名文件
File.Copy(sourcePath,targetPath,isrewrite);