public void ReadFile(string filepath)
{
FileInfo info = new FileInfo(filepath);
}
我通过openfiledialog和DragDrop方法读取filepath,给fileinfo初始化
foreach (string r in FileDialog.SafeFileNames)
{
ReadFile(r);
} System.Array pathlist = e.Data.GetData(DataFormats.FileDrop) as System.Array;
foreach (string r in pathlist)
{
FileInfo inf = new FileInfo(r);
ReadFile(inf.Name);
}
都是一个string,代表该文件名字,为什么SafeFileNames传入的值就可以准确的读出该文件位置。而拖拽读取的文件名就不行呢,难道说clr在safefilenames被调用时做了什么处理吗?求解!
{
FileInfo info = new FileInfo(filepath);
}
我通过openfiledialog和DragDrop方法读取filepath,给fileinfo初始化
foreach (string r in FileDialog.SafeFileNames)
{
ReadFile(r);
} System.Array pathlist = e.Data.GetData(DataFormats.FileDrop) as System.Array;
foreach (string r in pathlist)
{
FileInfo inf = new FileInfo(r);
ReadFile(inf.Name);
}
都是一个string,代表该文件名字,为什么SafeFileNames传入的值就可以准确的读出该文件位置。而拖拽读取的文件名就不行呢,难道说clr在safefilenames被调用时做了什么处理吗?求解!
解决方案 »
- 求助:C#中使用cmd 的net use \\ip /savecred,无法输入用户名和密码
- MFC程序,内加入托管代码,这样的程序能用工具查看代码吗
- 请问在win7下开发c#和windows xp下一样吗?
- 如何简单的实现单表代替
- winfrom 打包
- 初学者请教:C#编写-控制按钮/条进行多窗口显示
- 急!!如何将Graphics修改过的图片的状态固定下来
- 关于用RichTextBox进行文件拖放的郁闷问题
- 网络抓包抓取不到cookie
- .net Framework 安装大讨论,希望大家参加
- asp.net后台代码能做确认对话框吗?
- 询问一个关于xml序列化,反序列化与cache之间的转化问题
拖拽获得的文件名,赋给fileinfo的构造函数,因为无法定位会报异常
而同样是string型的文件名,从控件 FileDialog的 FileDialog.SafeFileNames方式获得的string型的文件名,赋给fileinfo构造函数,就能获得文件路径。
我就奇怪了,只凭一个string的文件名,怎么会让fileinfo获得这个文件的路径呢。
第二:你的拖拽功能,原地方的文件是用的“复制”方式而 不是“剪贴”方式吧;在初始化fileinfo时,如果原文件被删,就会报错吧。
1,绝对一样,我一个char一个char的对了。暂不谈两个string是否一样,我好奇的是只知道文件名,FileInfo是如何知道完整路径的。
2,拖拽功能是winform的dragdrop事件,是复制文件路径,不是文件本身。