strFilePathName=C:\Documents and Settings\xiagj\My Documents\Recon2009_Data.MDF;
strFilePath = Path.GetDirectoryName(strFilePathName);//这个是返回指定路径字符串的目录信息
strFileName = Path.GetFileName(strFilePathName);//这个返回指定路径的文件名和扩展名
问题是:
我输出 strFilePath = C:\Documents and Settings\xiagj
       strFileName = My DocumentsRecon2009_Data.MDF
很明显不对吧,正确的答案应该是:
       strFilePath = C:\Documents and Settings\xiagj\My Documents
       strFileName = Recon2009_Data.MDF
谁能告诉我为什么会有这样的问题。
PS:我换成路径短的测试,得到的结果没问题,路径太长,就得到的结果有问题了。为什么???

解决方案 »

  1.   

    知道strFilePathName自己截取不就可以了
      

  2.   

    Path.GetFileName() 不应该有错的啊,楼主你哪儿错了吧,用到现在了,也没见错过。
      

  3.   

       有时候路径太长的话,截取的时候就有错,我也不知道为什么,觉得好奇怪。 他里面封装的方法应该就是subString这个吧。
      

  4.   


    //引用命名空间:
    using System.IO;
    using System.Reflection;//获得路径  
      string aurl = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase.ToString()) + "\\";  
    http://blog.csdn.net/li0531/article/details/7781105
      

  5.   

      我了个去,刚没改代码,又运行了一下,得到的结果又没问题了。
      我敢发誓,那些错误的结果我是用console.writline()输出,然后复制到这里来的,确实是那种错误结果。 
      算了,不纠结了,还是自己写substring截取稳妥,怕某个时间又有错。
      结贴了,谢谢大家。