********************************

java中的相对路径和绝对路径

********************************

相对路径(其实就是编译后的路径)

——类路径:当前类所在的路径。不添加“/”则表示类加载的路径

@Test
public void classPath() {
   // 通过获取当前类的编译后所在的路径
URL classPath = getClass().getResource("");
System.out.println("classPath = " + classPath);
}
// 输出:classPath = file:/F:/etom/pmms/target/test-classes/test/

——当前类所在的根路径,添加“/”表示类加载的根路径

@Test
public void classRootPath() {
URL classRootPath= getClass().getResource("/");
System.out.println("classRootPath= " + classRootPath);
}
// classRootPath= file:/F:/etom/pmms/target/test-classes/

——项目工程所在的根路径

@Test
public void rootPath() throws IOException {
File file = new File("");
if (!file.exists()) {
file.mkdirs();
}
String rootPath = file.getCanonicalPath();
System.out.println("rootPath = " + rootPath);
}
// rootPath = F:\etom\pmms

——当前线程的类加载器获取所在的路径

@Test
public void threadPath() {
   // 通过线程的加载类所在的路径
URL threadPath = Thread.currentThread().getContextClassLoader().getResource("");
System.out.println("threadPath = " + threadPath);
}
// 输出:threadPath = file:/F:/etom/pmms/target/test-classes/

——web的相对路径

public void webPath(HttpServletRequest request) {
   // 通过获取web上下文来获取web的相对路径
String webappPath = request.getServletContext().getRealPath("");
}

绝对路径

public void filePath() {
   // 直接配置文件路径即可,记住:是全路径
File file = new File("F:/etom/pmms/target/test-classes/test/");
if (!file.exists()) {
file.mkdirs();
}
}

classpath和filepath的更多相关文章

  1. Java基础之读文件——使用通道复制文件(FileBackup)

    控制台程序,除了使用Files类中使用copy()方法将文件复制外,还可以使用FileChannel对象复制文件,连接到输入文件的FileChannel对象能直接将数据传输到连接到输出文件的FileC ...

  2. javac编译乱码

    PersonTest.java:1: 错误: 非法字符: \65279 解决途径如下 用记事本打开java源文件,另存为ANSI格式 如果java文件包含中文字符,使用-encoding gbk格式进 ...

  3. 操作word

    package com.gwt.flow.task; import java.io.File; import java.io.FileInputStream; import java.io.FileN ...

  4. springboot-项目获取resources下文件碰到的问题(classPath下找不到文件和文件名乱码)

    项目是spring-boot + spring-cloud 并使用maven 管理依赖.在springboot+maven项目下怎么读取resources下的文件实现文件下载? 怎么获取resourc ...

  5. JAVA获取程序(打成jar或classpath)所在目录

    一.简述 JAVA获取程序(打成jar或classpath)所在目录. 二.代码 package dearcloud.utils.context; import dearcloud.utils.Str ...

  6. Java自定义类加载和ClassPath类加载器

    1 自定义类加载器: 实现规则: 自定义类加载器,需要重写findClass,然后通过调用loadClass进行类加载(loadClass通过递归实现类的双亲委派加载) package com.dax ...

  7. 再次思考 classpath 环境变量 等

    f:\aspectj1.8\lib\aspectjrt.jar;.;%JAVA_HOME%\lib;C:\Temp\IBM\SQLLIB\java\db2java.zip;C:\Temp\IBM\SQ ...

  8. web.xml 配置中classpath: 与classpath*:的区别

    首先 classpath是指 WEB-INF文件夹下的classes目录 解释classes含义: 1.存放各种资源配置文件 eg.init.properties log4j.properties s ...

  9. CentOS下配置java环境变量classpath

    一. 需要配置的环境变量1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们需要把 jdk安装目录下的bin ...

随机推荐

  1. windows下nginx+php

    nginx能够为Web服务器节省资源,相较于我们熟悉的apache.IIS的优势,在于"反向代理"和"负载均衡".那在windows下如何来配置nginx+ph ...

  2. 使用XStream是实现XML与Java对象的转换(2)--别名

    五.使用别名(Alias) 首先,有这样一段Java代码: import java.util.ArrayList; import java.util.List; import com.thoughtw ...

  3. Spring Cloud项目中通过Feign进行内部服务调用发生401\407错误无返回信息的问题

    问题描述 最近在使用Spring Cloud改造现有服务的工作中,在内部服务的调用方式上选择了Feign组件,由于服务与服务之间有权限控制,发现通过Feign来进行调用时如果发生了401.407错误时 ...

  4. MySQL性能调优——索引详解与索引的优化

    --索引优化,可以说是数据库相关优化.理解尤其是查询优化中最常用的优化手段之一.所以,只有深入索引的实现原理.存储方式.不同索引间区别,才能设计或使用最优的索引,最大幅度的提升查询效率! 一.BTre ...

  5. mybatis中分页插件PageHelper的使用

    转载博客:http://blog.csdn.net/u012728960/article/details/50791343

  6. 详解k8s组件Ingress边缘路由器并落地到微服务 - kubernetes

    写在前面 Ingress 英文翻译 进入;进入权;进食,更准确的讲就是入口,即外部流量进入k8s集群必经之口.这到大门到底有什么作用?我们如何使用Ingress?k8s又是如何进行服务发现的呢?先看一 ...

  7. Day14 JavaScript

    区分: JavaScript和JAVA一点关系没有,是一门单独的语言.(浏览器就是JavaScript的解释器) JavaScript代码存在形式: #这些代码一般都是在<head>< ...

  8. IE的变态

    1.它自身的内容动态调试功能太简陋. 2.另存成静态网页调试,发现网页代码和原先后台写的根本不一样,能稍微守点规矩行不?

  9. 在 Ubuntu 系统中部署 Git Server

    http://blog.csdn.NET/poisonchry/article/details/11849781 虽然有很多开源的Git仓库,不过并非所有都尽人意,譬如Github,Gitlab等,不 ...

  10. C语言出来多久了你知道吗?

    在20世纪80年代,为了避免不同开发者使用的C语言语法的差异,美国国家标准局为C语言开发了一套完整的美国国家标准语言文法,称为ANSI C,作为C语言的初始标准.. [1] 2011年12月8日,国际 ...