A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小黑-张颖 黑马帝   /  2011-9-4 11:29  /  2407 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

昨天和今天看到很多因为相对路径的问题引发的问题,答案几乎都是把相对路径改写为绝对路径就行了,而结果事实就是这样,但是为什么相对路径就不行呢,

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

8 个回复

倒序浏览
黑马网友  发表于 2011-9-4 12:28:31
沙发
这个我也不熟。。。相对路径不行只能说明相对路径计算错了
回复 使用道具 举报
黑马网友  发表于 2011-9-4 12:50:36
藤椅
路径名采用绝对路径和相对路径都可以。绝对路径是从根目录开始的路径,相对路径是从当前目录开始的路径。一般来说,为了保证程序的可一直性,推荐用相对路径。楼主的程序 采用绝对路径运行正常,说明程序本身没有问题,大概问题是出在相对路径编写不正确,找不到路径。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-4 12:54:08
板凳
那是因为相对路径是相对的,所以很容易就出错,比如我上次把一个文件放在我编写的java文件中,然后相对路径我直接写文件名,结果不行,最后在文件名前加上我java文件放置的文件夹的名就可以了,相对究竟是相对什么这个真需要好好理解。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-4 15:17:46
报纸
[b]绝对路径[/b]是指书写文件的完整路径,例如d:“java“Hello.java,该路径中包含文件的完整路径d:“java以及文件的全名 Hello.java.使用该路径可以唯一的找到一个文件,不会产生歧义。但是使用绝对路径在表示文件时,受到的限制很大,且不能在不同的操作系统下运行,因为不同操作系统下绝对路径的表达形式存在不同。

[b]相对路径[/b]是指书写文件的部分路径,例如“test“Hello.java,该路径中只包含文件的部分路径“test和文件的全名Hello.java,部分路径是指当前路径下的子路径,例如当前程序在d:“abc下运行,则该文件的完整路径就是d:“abc“test.使用这种形式,可以更加通用的代表文件的位置,使得文件路径产生一定的灵活性。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-4 21:11:48
地板
可能的原因是你当前的目录下没有那个文件,在程序中我们一般使用的是相对路径,这样当程序放到其他的电脑上时也可以正常的运行
回复 使用道具 举报
黑马网友  发表于 2011-9-4 23:59:59
7#
这样说吧,一般一个项目,由于层分的比较细,会有很多的文件夹,有时候开发人员自己都搞不清楚要找的文件路径是哪一个,所以干脆从根开始找,这样的思路比较容易找到,不用写一大堆../ 如果目录比较进得话../用一下没关系,层次多了,文件夹深了 就用相对于根的绝对路径,总之都是为了找文件准确和方便

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-5 00:28:05
8#
学习下,这个我也不太明白
回复 使用道具 举报
黑马网友  发表于 2011-9-6 10:34:48
9#
绝对路径是从根目录开始的路径,相对路径是从当前目录开始的路径。一般来说,为了保证程序的可移植性,推荐用相对路径。例如:有一些工具的安装或文件的存放方式都有默认方式,平时我们可能稍微人为的改变或移动根目录位置,但内部文件位置结构不会改变,这时相对路径有助我们灵活定位;另外,由于相对路径是从当前目录开始的路径,我们头脑中一定要明确要查找的文件所处的位置与当前目录的包含关系.

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马