单文档程序打开一个文件后如果程序本身不在文件同个目录内里面的数据一些文件路径会找不到.比如程序名.
Text.exe Text.txt 如果程序和文件在一起那么里面的数据就不会丢失,一些数据在打开文件后也存在.如果换成
Text.exe Data\\Text.txt 如果Text.txt在Data目录内,那么程序的数据将丢失,一些文件的路径找不到.请问这是为什么,要怎么解决才能文件在任何地方,打开后执行的程序不会丢失数据呢?

解决方案 »

  1.   

    请问这是为什么,要怎么解决才能文件在任何地方,打开后执行的程序不会丢失数据呢?如果仅仅提供了文件的名称但没有指定路径,那么windows系统将按照进程环境变量中指定的路径来寻找文件,如果找不到,对文件的操作将失败。Text.exe Text.txt 如果程序和文件在一起那么里面的数据就不会丢失,一些数据在打开文件后也存在. 
    这是因为当前.exe程序所在路径正是环境变量中的路径之一。Text.exe Data\\Text.txt 如果Text.txt在Data目录内,那么程序的数据将丢失,一些文件的路径找不到.
    这是因为系统默认的环境变量中不包括"Data\"这一路径要怎么解决才能文件在任何地方,打开后执行的程序不会丢失数据呢
    你不感觉这个要求有些违背计算机常理么?让电脑从A盘开始来个全硬盘外加移动存贮设备的大搜索以找出文件?我想程序中指定一下文件的路径并不是很困难。如果你仅指定文件名,那就一定要将文件放在进程环境变量支持的路径之一上。否则就找不到。