不得不说Java的文件路径弄得很复杂, 有编译目录和resource目录什么的和解释型语言(PHP)的就是不一样

搞了好几年java一直没认真去研究这些个破路径怎么回事, 每次都忘记, 梳理一下备忘

1. 直接使用绝对路径

这是最简单的一种, 例如 new File("/home/alexis/test.out")

2. 直接使用相对路径

例如 new File("test.out")

这种用法挺搞笑的, 他的路径是从你的工程目录算起的, 例如你有一个工程 TestProject

TestProject

|--test.out

|--src

|--resources

也就是说 test.out 是与 src 位于同一个级别的

3. 使用 Test.class.getClass().getResource 的方法

例如

在一个为于 com.test.alexis 包下的 Test.java 类下使用

1) Test.class.getClass().getResource("test.out")

2) Test.class.getClass().getResource("/test.out")

对于第一种用法, 路径是从当前类的包路径开始算的, 也就是 classes/com/test/alexis/test.out

第二种用法则是位于编译目录的更目录, 也就是 classes/test.out

4. 使用 Test.class.getClass().getClassLoader().getResource 的方法

Test.class.getClass().getClassLoader().getResource("test.out")  // 没有 "/" 开头

等同于

Test.class.getClass().getResource("/test.out")

Java 文件路径相关的更多相关文章

  1. java文件夹相关操作 演示样例代码

    java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...

  2. iOS文件路径相关的方法

    文件路径相关的方法在NSPathUtilities中,主要是操作路径 获得一个路径 NSString *documents = [NSSearchPathForDirectoriesInDomains ...

  3. Java中路径相关的获取方式

    [参考文章]:Java文件路径(getResource) [参考文章]:关于java:如何获取正在运行的JAR文件的路径? [参考文章]:关于Class.getResource和ClassLoader ...

  4. Java文件路径

    几大常用的方法 Class.getResource("")    返回的是当前Class这个类所在包开始的位置 getClassLoader().getResource(" ...

  5. Java 文件路径的读取

    记得在操作系统中了解到文件读取有两种方式,当然这在各编程语言中也是通用的,所以java路径也分,相对和绝对路径. 绝对路径 绝对路径URI ,听着和URL非常相似.那我们就来看看吧. URI(Unif ...

  6. 【转载】java文件路径问题及getResource和getClassLoader().getResource的区别

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012572955/article/details/52880520我们经常在java的io操作中读 ...

  7. 在Tomcat下指定Jsp生成的Java文件路径

    在tomcat的配置文件server.xml(路径:tomcat路径\conf下面)里,找到:<Context docBase="D:/workspace/icinfo/trunk/w ...

  8. Object-C,文件路径API

    犀利吐槽 1.同样都是"文件和目录操作",java中,就用java.util.File一个类,就封装了很多API,而Object-C搞了这么多类和函数.具体原因,有待分析啊. 2. ...

  9. java_基础——用代码编译.java文件+加载class文件

    [本文介绍] 本文不是深入理解和使用java编译器,只是在代码里编译.java文件的helloWorld.这种技术还是蛮有意思的,说不定在将来的某些只能化项目会运用到!^_^ [简单编译的流程] [j ...

随机推荐

  1. C语言中的 *p[2] 与 (*p)[2] 的截然不同

    C语言运算符优先级表(由上至下, 优先级依次递减) 运算符 结合性 ()  []  ->  . 自左向右  !  ~  ++  --  -  (type)  *  &  sizeof 自 ...

  2. ref:linux用户和组管理,/etc/passwd,/etc/shadow和/etc/group 文件内容解释

    ref:https://www.cnblogs.com/xuha0/p/5519232.html 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shad ...

  3. python全栈开发之匿名函数和递归函数

    python 匿名函数和递归函数 python全栈开发,匿名函数,递归函数 匿名函数 lambda函数也叫匿名函数,即函数没有具体的名称.是为了解决一些功能很简单需求而设计的一句话函数.如下: #这段 ...

  4. 漏洞利用查询工具sandi

    漏洞利用查询工具sandi   在渗透测试中,一旦发现漏洞,就需要查找该漏洞的利用方式.由于漏洞众多,就需要渗透测试人员从海量的漏洞信息找出可用攻击载荷.Kali Linux内置了一个查询工具sand ...

  5. Redis PK Memcached

    没有必要过多的关心性能,因为二者的性能都已经足够高了.由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一 个核上Redis在存储小数据时比Memcached性能更高.而 ...

  6. python语法(五)—函数

    前面几天学习了python的基础语法,判断,循环,以及文件操作等等内容,对python也是有了一个认识.今天开始学习python的函数和模块. 函数 函数是什么?我的理解就是,他和java中的方法是一 ...

  7. OS X - 在80端口启动Nginx

    不知道你是怎么在你的mac上安装nginx的,但是如果你跟我一样: brew install nginx 然后你会发现你的nginx.conf中的端口是8080. 于是你可能像我一样试着把端口改为80 ...

  8. 从客户端浏览器直传文件到Storage

    关于上传文件到Azure Storage没有什么可讲的,不论我们使用哪种平台.语言,上传流程都如下图所示: 从上图我们可以了解到从客户端上传文件到Storage,是需要先将文件上传到应用服务上,然后再 ...

  9. Versaloon -- Connect To Targets

    Versaloon Full open-source(GPLv3) platform for multiple applications, including programmer, debugger ...

  10. [Go] md5 加密 示例

    package main import ( "crypto/md5" "encoding/hex" "fmt" "io" ...