热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javaurl相对路径_java相对路径、绝对路径及类路径

importjava.io.File;importjava.net.URL;***java相对路径、绝对路径及类路径的测试*publicclassTest{***测试相对路径是相对

importjava.io.File;importjava.net.URL;/*** java相对路径、绝对路径及类路径的测试*/

public classTest {/*** 测试相对路径是相对谁

* -- 相对于部署项目的文件夹(AppServer)*/

//@org.junit.Test

public void testRelativePath() throwsException {

String filePath= "test//t.txt";

File file= newFile(filePath);if (!file.exists()) {if (!file.getParentFile().exists()) {

file.getParentFile().mkdirs();

}

file.createNewFile();

}

System.out.println(file.getAbsolutePath());//E:\workspace\AppServer\test\t.txt

}/*** 测试绝对路径*/

//@org.junit.Test

public void testAbsolutePath() throwsException {

String filePath= "D:\\path\\test.txt";

File file= newFile(filePath);if (!file.exists()) {if (!file.getParentFile().exists()) {

file.getParentFile().mkdirs();

}

file.createNewFile();

}

System.out.println(file.getName());//test.txt

System.out.println(file.getAbsolutePath()); //D:\path\test.txt

}/*** 获取ClassPath(类路径)*/

//@org.junit.Test

public void testClassPath() throwsException {/*来个对比(各种情况下ClassPath的值):

1) 直接junit运行方法时打印:(给这个类单独创建了一个ClassPath)

/E:/workspace/AppServer/target/test-classes/

2) Eclipse启动tomcat时打印(tomcat插件中的ClassPath):

/E:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AppServer/WEB-INF/classes/

3) 单独启动tomcat时打印(tomcat中的类路径):

/E:/apache-tomcat-7.0.62/webapps/AppServer/WEB-INF/classes*/

//获取类路径

URL url = this.getClass().getResource("/");//file:/E:/workspace/AppServer/target/test-classes/

String path=url.getPath();//看看类路径下都有啥

File file = newFile(path);//直接junit运行方法

for(File f : file.listFiles()) {

System.out.println(f.getName());//还没有文件被编译,啥也没有

}

}/*** 测试路径中的正反斜杠*/

//@org.junit.Test

public void testSprit() throwsException {//文件已经存在

String filePath = null;/** 正斜杠'/'*/filePath= "D:/path/test.txt"; //D:\path\test.txt

filePath = "D://path//test.txt"; //D:\path\test.txt

filePath = "D:/path//test.txt"; //D:\path\test.txt

filePath = "D:pathtest.txt"; //D:\path\test.txt

/** 反斜杠'\'*/filePath= "D:\\path\\test.txt"; //D:\path\test.txt//filePath = "D:\path\test.txt";//编译都通过不了啊,\t是一个制表符//filePath = "D:\\\path\\test.txt";//编译都通过不了啊//正反斜杠混合使用

filePath = "D:\\path/test.txt"; //D:\path\test.txt

filePath = "D:/path\\test.txt"; //D:\path\test.txt

File file= newFile(filePath);

System.out.println(file.getAbsolutePath());

}

@org.junit.Testpublic void testName() throwsException {

String filePath= null;

filePath= "D:/path/test.txt"; //D:/path/test.txt

System.out.println(filePath);

filePath= "D://path//test.txt"; //D://path//test.txt

System.out.println(filePath);

filePath= "D:/path//test.txt"; //D:/path//test.txt

System.out.println(filePath);

filePath= "D:pathtest.txt"; //D:pathtest.txt

System.out.println(filePath);/** 反斜杠'\'*/filePath= "D:\\path\\test.txt"; //D:\path\test.txt

System.out.println(filePath);//正反斜杠混合使用

filePath = "D:\\path/test.txt"; //D:\path/test.txt

System.out.println(filePath);

filePath= "D:/path\\test.txt"; //D:/path\test.txt

System.out.println(filePath);

}/*** 总结:

* 1) 相对路径

*

* 相对路径:是相对于application(服务)目录所在的路径。

*

* 比如:

* 相对路径为"test/t.txt", 服务目录为:"D:/App"

* 则t.txt的绝对路径为:"D:/App/test/t.txt"

*

* 2) 绝对路径

*

* 没什么好说的。

*

* 3) 类路径

*

* a. Eclipse中右键运行(为当前类单独创建了一个类路径):

* /E:/workspace/AppServer/target/test-classes/

*

* b. Eclipse中启动tomcat(tomcat插件中的类路径)::

* /E:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AppServer/WEB-INF/classes/

*

* c. tomcat中启动start.bat(tomcat服务中的类路径):

* /E:/apache-tomcat-7.0.62/webapps/AppServer/WEB-INF/classes

*

* 4) 路径中的正反斜杠(/ \)

*

* a. '/' 正斜杠

* 怎么用都是对的,无论是单斜杠,双斜杠,多斜杠 或 混合使用,都能正确的解析文件路径。

*

* b. '\' 反斜杠

* 只能使用双斜杠'\\'.

* 单斜杠,多斜杠 或 混合使用都会报错。编译都不能通过。

*

* c. 正反斜杠混合使用

* 反斜杠只能使用双斜杠'\\', 正斜杠随意。 都能正确解析出路径。 "D:/aaa\\/bb.txt",这种写法也能解析。

*

* d. 反双斜杠'\\',运行时打印字符串时会变成'\'。

* 正斜杠,运行时打印字符串,打印结果和编译前一致。*/}



推荐阅读
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 标题: ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
author-avatar
歪歪Doris
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有