System.IO.File.Exists(file) 查看文件是否存在

klj 2013-05-03 09:55:01
System.IO.File.Exists(file) 查看文件是否存在

file是我的文件路径,其实在我的项目中是存在的,但上面的判断却一直在报FALSE的错误,网上看说与ASPNET 用户有关,想问下这个有什么好的方法解决的。本人用的是WIN7的系统,用户也是管理员的权限
...全文
4279 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
klj 2013-05-03
  • 打赏
  • 举报
回复
string file = string.Format("{0}\\Update.xml", Global.AssemblyPath);
/// <summary>
		/// 当前应用程序所在的路径
		/// </summary>
		public static string AssemblyPath
		{
            //get{ return Path.GetDirectoryName( Assembly.GetExecutingAssembly().Location );}
            get { return Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); }
		}
已经解决 这边获得的路径前面会包含一个file:\\所以每次在判断文件是否存在的时候直接抛出false,谢谢各位了
kxdabao 2013-05-03
  • 打赏
  • 举报
回复
如果发布到IIS上,IIS网站物理路径凭证设置成用户权限,对应的应用程序池高级属性中标识权限也改成用户权限。 访问文件权限添加everyone读权限。
熊猫无敌 2013-05-03
  • 打赏
  • 举报
回复
首先,楼主分析这个问题 看样子楼主是在Web Application遇到这个问题的 首先楼主要新建个ConsoleApp,把你代码贴进去,如果运行是好的 那就是我前面说的问题,看下下面的文章 http://developer.51cto.com/art/200908/147797.htm 如果在ConsoleApp还是出错了 那就是你的路径不对 你把string file = string.Format("{0}\\Update.xml", Global.AssemblyPath); 生成的string贴到地址里,看看能不能打开这个文件 如果不能,就好好检查路径和文件地址是否匹配
Kim_Du 2013-05-03
  • 打赏
  • 举报
回复
你的看你物理路径下是否存在对应的文件,如果没有的话肯定就是false
klj 2013-05-03
  • 打赏
  • 举报
回复
引用 6 楼 myhaikuotiankong 的回复:
[quote=引用 4 楼 soladyk 的回复:] ASP.NET的路径是虚拟路径,楼主看看你的路径,如果是有具体盘符的(例如C:),那就是错了 这个问题太抽象了 把代码贴上来看看
同意该解释。。。[/quote] string file = string.Format("{0}\\Update.xml", Global.AssemblyPath); if (!System.IO.File.Exists(file)) { MessageBox.Show("配置文件不存在!"); return; } Global.AssemblyPath:我访问的是当前项目所在的路径
myhaikuotiankong 2013-05-03
  • 打赏
  • 举报
回复
引用 4 楼 soladyk 的回复:
ASP.NET的路径是虚拟路径,楼主看看你的路径,如果是有具体盘符的(例如C:),那就是错了 这个问题太抽象了 把代码贴上来看看
同意该解释。。。
klj 2013-05-03
  • 打赏
  • 举报
回复
string file = string.Format("{0}\\Update.xml", Global.AssemblyPath); if (!System.IO.File.Exists(file)) { MessageBox.Show("配置文件不存在!"); return; }
熊猫无敌 2013-05-03
  • 打赏
  • 举报
回复
ASP.NET的路径是虚拟路径,楼主看看你的路径,如果是有具体盘符的(例如C:),那就是错了 这个问题太抽象了 把代码贴上来看看
klj 2013-05-03
  • 打赏
  • 举报
回复
引用 2 楼 Kim_Du 的回复:
一直报false的错误是什么意思?应该是true但却是false还是?
是应该是true,但却是false
Kim_Du 2013-05-03
  • 打赏
  • 举报
回复
一直报false的错误是什么意思?应该是true但却是false还是?
  • 打赏
  • 举报
回复
Asp.Net的用户是AspNet,却并非所谓的管理员用户 路径是否正确,ASPNET用户对其是否有读权限

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧