FileStream fs = new FileStream("BookShop/QQWry.Dat", FileMode.Open, FileAccess.Read, FileShare.Read));大家好,这里有一段代码,所处的项目,在不同的电脑上面,他所查找的路径有两种情况:1.查找项目所在目录下BookShop\QQWry.Dat文件,这是我想得到的效果。2.查找目录为C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\BookShop\QQWry.Dat,也就是查找我vs2008的安装目录请教各位,为什么会出现这种情况呢?是不是跟vs2008的运行环境有关呢?

解决方案 »

  1.   

    BookShop/QQWry.Dat 写为绝对路径
      

  2.   

    "BookShop/QQWry.Dat"是相对路径,
    也就是项目(生成的exe文件文件通常是bin/debug文件下)所在同级目录文件BookShop下QQWry.Dat,
    你可用:Application.StartupPath + "\\BookShop\\QQWry.Dat"
      

  3.   

    将BookShop/QQWry.Dat
    放在bin/debug文件下,
    再用:Application.StartupPath + "\\BookShop\\QQWry.Dat"
      

  4.   

    webform:Server.MapPath...
    Winform:Application.StartupPath
    后面拼接你文件名
      

  5.   

    FileStream fs = new FileStream("BookShop/QQWry.Dat", FileMode.Open, FileAccess.Read, FileShare.Read));实际的位置是System.Environment.CurrentDirectory,也就是当前路径。
    这时有可能是系统路径,如果使用OpenFileDialog选择了其他目录的一个文件,就会是其他目录
      

  6.   

    主要是我这个项目只是一个普通的项目类库,由UI层调用,所以调用不了Server.MapPath与Application.StartupPath