导航:首页 > 源码编译 > 编译链接相对路径

编译链接相对路径

发布时间:2023-08-29 22:05:10

java里绝对路径和相对路径的区别是什么

按照jdk Doc上的说法”绝对路径名是完整的路径名,不需要任何其他信息就可以定位自身表示的文件。相反,相对路径名必须使用来自其他路径名的信息进行解释。默认情况下,java.io 包中的类总是根据当前用户目录来分析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录.”x0dx0a x0dx0a相对路径顾名思义,相对于某个路径,那么究竟相对于什么路径我们必须弄明白.按照上面jdk文档上讲的这个路径是”当前用户目录”也就是”java虚拟机的调用目录”.更明白的说这个路径其实是我们在哪里调用jvm的路径.举个例子:x0dx0a x0dx0a假设有一java源文件Example.java在d盘根目录下,该文件不含package信息.我们进入命令行窗口,然后使用”d:”命令切换到d盘根目录下,然后用”javac Example.java”来编译此文件,编译无错后,会在d盘根目录下自动生成”Example.class”文件.我们在调用”java Example”来运行该程序.此时我们已经启动了一个jvm,这个jvm是在d盘根目录下被启动的,所以此jvm所加载的程序中File类的相对路径也就是相对这个路径的,即d盘根目录:D:/.同时” 当前用户目录”也是D:/.在System.getProperty(“user.dir”);系统变量”user.dir”存放的也是这个值.x0dx0a我们可以多做几次试验,把”Example.class”移动到不同路径下,同时在那些路径下,执行”java Example”命令启动jvm,我们会发现这个”当前用户目录”是不断变化的,它的路径始终和我们在哪启动jvm的路径是一致的.x0dx0a搞清了这些,我们可以使用相对路径来创建文件,例如:x0dx0aFile file = new File(“a.txt”);x0dx0aFile.createNewFile();x0dx0a假设jvm是在”D:/”下启动的,那么a.txt就会生成在D:/a.txt;x0dx0a此外,这个参数还可以使用一些常用的路径表示方法,例如”.”或”./”代表当前目录,这个目录也就是jvm启动路径.所以如下代码能得到当前目录完整路径:x0dx0aFile f = new File(“.”);x0dx0aString absolutePath = f.getAbsolutePath();x0dx0aSystem.out.println(absolutePath);//D:/x0dx0a最后要说说在eclipse中的情况:x0dx0aEclipse中启动jvm都是在项目根路径上启动的.比如有个项目名为blog,其完整路径为:D:/work/IDE/workspace/blog.那么这个路径就是jvm的启动路径了.所以以上代码如果在eclipse里运行,则输出结果为” D:/work/IDE/workspace/blog.”x0dx0a x0dx0aTomcat中的情况.x0dx0a如果在tomcat中运行web应用,此时,如果我们在某个类中使用如下代码:x0dx0aFile f = new File(“.”);x0dx0aString absolutePath = f.getAbsolutePath();x0dx0aSystem.out.println(absolutePath);x0dx0a那么输出的将是tomcat下的bin目录.我的机器就是” D:/work/server/jakarta-tomcat-5.0.28/bin/.”,由此可以看出tomcat服务器是在bin目录下启动jvm的.其实是在bin目录下的” catalina.bat”文件中启动jvm的.

❷ java源文件编译时要放在哪里

很可能是编译的路径没选对,用绝对路径也可以,用相对路径也可以,绝对路径:就是cmd调出管理员窗口后,输入javac E:\xuexi\HelloWord.java。其中E:\xuexi\HelloWord.java就是源程序HelloWord.java的绝对路径,即源程序文件在哪里,它的绝对路径就是从类似上述例子的路径。相对路径:一直点一直点,找到你写的源文件HelloWord.java,然后在最上面路径那一栏中把原来的名字全部删掉,输入cmd,这就是相对路径。例如HelloWord.java在E:\xuexi下,只需要把最上面路径栏里的E:\xuexi删掉,换成cmd回车就可以了,最后再输入javac HelloWord.java就可以编译。如果有错误也会报错。

阅读全文

与编译链接相对路径相关的资料

热点内容
吃鸡国际体验服为什么服务器繁忙 浏览:92
php中sleep 浏览:488
vr怎么看视频算法 浏览:84
手机app如何申报个人所得税零申报 浏览:692
如何截获手机app连接的ip 浏览:330
冰箱压缩机是否需要电容 浏览:344
python列表每一行数据求和 浏览:274
自己有一台服务器可以玩什么 浏览:656
社会学波普诺pdf 浏览:584
解压做食物的小视频 浏览:758
pdf怎么单独设置文件夹 浏览:474
业务逻辑程序员 浏览:659
addto新建文件夹什么意思 浏览:160
有服务器地址怎么安装软件 浏览:659
安卓如何完全清除数据 浏览:691
安卓安卓证书怎么信任 浏览:54
服务器被攻击如何解决 浏览:221
学霸变成程序员 浏览:882
c语言编译错误fatalerror 浏览:441
ipv4内部服务器地址怎么分配 浏览:464