精华内容
下载资源
问答
  • 2019-08-19 20:14:40

    String pathorg = getClass().getClassLoader().getResource("").toString();
                
                System.out.println(pathorg);

    更多相关内容
  • Java获取.class文件路径

    2021-03-03 10:38:04
    为了详细说明要介绍的几种方法,本例准备了两个工程:①Java工程: ② web工程: tomcat路径:D:\tomcat\Ⅰ、Thread.currentThread().getContextClassLoader().getResource...(1)name="", 获取编译文件.class路径...

    为了详细说明要介绍的几种方法,本例准备了两个工程:

    ①Java工程:

    a0a20cabdcd36eb1fe5df2c3b27281da.png

    ② web工程:

    7c0a80ad8568110681349fac1c217adf.png

    tomcat路径:D:\tomcat\

    Ⅰ、Thread.currentThread().getContextClassLoader().getResource(name).getPath();

    name:资源名称,例如:"com/test/test.txt"。

    (1)name="",  获取编译文件.class的路径根目录,Java工程的.class文件在本工程的/bin/目录,web工程在tomcat下的/class/目录。

    String path = Thread.currentThread().getContextClassLoader().getResource("").getPath();

    System.out.println(path);

    Java工程运行结果:/D:/workspaceMyeclipse/testProject/bin/

    web工程运行结果:/D:/tomcat/webapps/webProject/WEB-INF/classes/

    (2)name="com/test/",获取包名的路径。若包不存在,会抛异常

    String path = Thread.currentThread().getContextClassLoader().getResource("com/test/").getPath();

    System.out.println(path);

    Java工程运行结果:/D:/workspaceMyeclipse/testProject/bin/com/test/

    web工程运行结果:/D:/tomcat/webapps/webProject/WEB-INF/classes/com/test/

    (3)name="com/test/test.txt",获取资源路径

    String path = Thread.currentThread().getContextClassLoader().getResource("com/test/test.txt").getPath();

    System.out.println(path);

    Java工程运行结果:/D:/workspaceMyeclipse/testProject/bin/com/test/test.txt

    web工程运行结果:/D:/tomcat/webapps/webProject/WEB-INF/classes/com/test/test.txt

    Ⅱ、Test.class.getProtectionDomain().getCodeSource().getLocation().getPath();

    Test为main方法所在类名若在web工程中,可以改写为:

    this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();

    该方法等同于1的(1),能获取.class文件的根目录路径。若要得到.class的路径,需要自行拼接字符串。例如:

    String path = test.class.getProtectionDomain().getCodeSource().getLocation().getPath();

    String filePath = "com/test/base/java/test1.txt";

    //判断拼接的路径是否正确

    File file = new File(path, filePath);

    System.out.println(file.getAbsolutePath());//文件绝对路径

    System.out.println(file.exists());//文件是否存在

    System.out.println(file.getName());//文件名称

    运行结果:

    D:\testProject\bin\com\test\test1.txt

    true

    test1.txt

    当要获取web工程中的html或者js等文件时也可用此法拼接。

    Ⅲ、Test.class.getResource(name).getPath();

    name:资源名称,例如:"/com/test/test.txt",与第一种方法类似,区别在于路径名称前多一个反斜杠"/"。

    (1)name="",获取Test.class编译文件所在目录的绝对路径,与第一种方法结果不同。

    String path = test.class.getResource("").getPath();

    System.out.println(path);

    运行结果:

    /D:/testProject/bin/com/test/

    (2)name="/",获取.class文件的根目录路径,等同于:

    Thread.currentThread().getContextClassLoader().getResource("").getPath();

    String path = test.class.getResource("/").getPath();

    System.out.println(path);

    运行结果:

    /D:/testProject/bin/

    (3)name="/com/test/",获取包名(com.test)的路径

    String path = test.class.getResource("/com/test").getPath();

    System.out.println(path);

    运行结果:

    /D:/testProject/bin/com/test/

    (4)name="/com/test/test.txt",获取包com.test下名为test.txt的文件的路径

    String path = test.class.getResource("/com/test/test.txt").getPath();

    System.out.println(path);

    运行结果:

    /D:/testProject/bin/com/test/test.txt

    展开全文
  • java获取当前class文件所在路径

    万次阅读 2017-11-30 14:41:15
    在.class文件没有被打包的情况下,如下语句可以获得.class文件的绝对路径: String classFilePath = clazz.class.getResource("").getPath(); 当.class文件被打进jar包之后,上面这条语句就要报错了。这时只能去...

    在.class文件没有被打包的情况下,如下语句可以获得.class文件的绝对路径:

    String classFilePath = clazz.class.getResource("").getPath(); 

    当.class文件被打进jar包之后,上面这条语句就要报错了。这时只能去获取.class文件所在的jar的绝对路径:

    String classFilePath = clazz.class.getResource("/").getPath(); 
    或者

    String jarFilePath = clazz.class.getProtectionDomain().getCodeSource().getLocation().getFile();  
    // URL Decoding  
    jarFilePath = java.net.URLDecoder.decode(jarFilePath, "UTF-8"); 





    展开全文
  • 主要介绍了java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径,需要的朋友可以参考下
  • 在本篇文章里小编给大家整理的是一篇关于linux中java获取路径的实例代码以及相关知识点,有兴趣的朋友们可以学习参考下。
  • 主要介绍了Java获取路径 classpath 的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • java中,经常要定位某些文件的位置,为了能让程序与物理位置无关,就要使用相对路径。但java中使用相对路径总会遇到一些很麻烦的问题,就是到底相对于哪个参照物的问题。因为我们平时使用相对路径总是相对当前工作...

    在java中,经常要定位某些文件的位置,为了能让程序与物理位置无关,就要使用相对路径。但java中使用相对路径总会遇到一些很麻烦的问题,就是到底

    相对于哪个参照物的问题。因为我们平时使用相对路径总是相对当前工作目录而言的,但有时需求并非如此。比如,要在一个开发包中使用相对路径,却不知道开发

    包被其他程序调用时的所在路径,而且特别是在web应用中,很难确定某个文件在整个应用中的相对路径。

    所以使用相对路径最好的办法就是让路径相对的参照物是我的开发包或我的应用本身的东西,最好的就是用我开发包中的类的class文件。只要知道了某个class文件的绝对路径,就可以以它为参照物,使用相对路径来定位其他任何文件了。

    为了实现这个想法,我写了这个Path类,这个类提供了两个静态公共方法,一个用来定位类的class文件的位置,另一个以某个类为参照物来定位一个相对

    路径。使用这两个方法,我们可以完全不必理会应用的当前工作路径,随心所欲的根据自己的位置来寻找任何文件。比如在编写某个功能性开发包时,就可以完全不

    用管调用这个开发包的应用的路径情况,而仅仅根据开发包本身的位置来定位文件,这样很好的实现了封装性,将文件的路径处理完全封闭在了开发包自身之内。

    以下是Path类的源代码:

    * 创建日期 2004-11-22 * * 更改所生成文件模板为 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释 */package mytools;

    import

    java.io.File;import java.io.IOException;import

    java.net.MalformedURLException;import java.net.URL;import

    java.security.CodeSource;import java.security.ProtectionDomain;

    /** *

    @author 由月 *  * 这个类提供了一些根据类的class文件位置来定位的方法。 */public class Path { /**

    * 获取一个类的class文件所在的绝对路径。 这个类可以是JDK自身的类,也可以是用户自定义的类,或者是第三方开发包里的类。  *

    只要是在本程序中可以被加载的类,都可以定位到它的class文件的绝对路径。  *   * @param cls  *

    一个对象的Class属性  * @return 这个类的class文件位置的绝对路径。 如果没有这个类的定义,则返回null。

    */ public static String getPathFromClass(Class cls) throws IOException

    {  String path = null;  if (cls == null) {   throw new

    NullPointerException();  }  URL url = getClassLocationURL(cls);  if

    (url != null) {   path = url.getPath();   if

    ("jar".equalsIgnoreCase(url.getProtocol())) {    try {     path = new

    URL(path).getPath();    } catch (MalformedURLException e) {    }    int

    location = path.indexOf("!/");    if (location != -1) {     path =

    path.substring(0, location);    }   }   File file = new

    File(path);   path = file.getCanonicalPath();  }  return path; }

    /**

    * 这个方法可以通过与某个类的class文件的相对路径来获取文件或目录的绝对路径。 通常在程序中很难定位某个相对路径,特别是在B/S应用中。

    * 通过这个方法,我们可以根据我们程序自身的类文件的位置来定位某个相对路径。  *

    比如:某个txt文件相对于程序的Test类文件的路径是../../resource/test.txt,  *

    那么使用本方法Path.getFullPathRelateClass("../../resource/test.txt",Test.class)

    * 得到的结果是txt文件的在系统中的绝对路径。  *   * @param relatedPath  *

    相对路径  * @param cls  *            用来定位的类  * @return 相对路径所对应的绝对路径  *

    @throws IOException  *             因为本方法将查询文件系统,所以可能抛出IO异常  */ public

    static String getFullPathRelateClass(String relatedPath, Class

    cls)   throws IOException {  String path = null;  if (relatedPath ==

    null) {   throw new NullPointerException();  }  String clsPath =

    getPathFromClass(cls);  File clsFile = new File(clsPath);  String

    tempPath = clsFile.getParent() + File.separator + relatedPath;  File

    file = new File(tempPath);  path = file.getCanonicalPath();  return

    path; }

    /**  * 获取类的class文件位置的URL。这个方法是本类最基础的方法,供其它方法调用。

    */ private static URL getClassLocationURL(final Class cls) {  if (cls

    == null)   throw new IllegalArgumentException("null input: cls");  URL

    result = null;  final String clsAsResource = cls.getName().replace('.',

    '/').concat(    ".class");  final ProtectionDomain pd =

    cls.getProtectionDomain();  // java.lang.Class contract does not

    specify  // if 'pd' can ever be null;  // it is not the case for Sun's

    implementations,  // but guard against null  // just in case:  if (pd

    != null) {   final CodeSource cs = pd.getCodeSource();   // 'cs' can be

    null depending on   // the classloader behavior:   if (cs !=

    null)    result = cs.getLocation();

    if (result != null)

    {    // Convert a code source location into    // a full class file

    location    // for some common cases:    if

    ("file".equals(result.getProtocol())) {     try {      if

    (result.toExternalForm().endsWith(".jar")        ||

    result.toExternalForm().endsWith(".zip"))       result = new

    URL("jar:".concat(         result.toExternalForm()).concat("!/")         .concat(clsAsResource));      else

    if (new File(result.getFile()).isDirectory())       result = new

    URL(result, clsAsResource);     } catch (MalformedURLException ignore)

    {     }    }   }  }

    if

    (result == null) {   // Try to find 'cls' definition as a

    resource;   // this is not   // document.d to be legal, but Sun's   //

    implementations seem to //allow this:   final ClassLoader clsLoader =

    cls.getClassLoader();   result = clsLoader != null ?

    clsLoader.getResource(clsAsResource)     :

    ClassLoader.getSystemResource(clsAsResource);  }  return result; }

    public

    static void main(String[] args) {  try

    {   System.out.println(getPathFromClass(Path.class));   System.out.println(getFullPathRelateClass("../test/abc/..",     Path.class));  }

    catch (Exception e) {   e.printStackTrace();  } }}

    阅读(850) | 评论(0) | 转发(0) |

    展开全文
  • Java如何获取文件路径

    2021-03-06 06:23:31
    Java如何获取文件路径?ClassPath的绝对URI路径,工程的路径。1、实例说明(1)java得到 ClassPath的绝对URI路径:Thread.currentThread().getContextClassLoader().getResource(“.”).getPath();(2)java得到 ...
  • Java获得class文件的绝对路径:1.e.g. Foo.class => Foo.class.getResuorce("").getFile();该方法在eclipse中或未jar打包时,可以得到,但如果打包的话,会显示Null. (security domain问题);2.Foo.clas....
  • java获取本地文件路径怎么写

    千次阅读 2021-02-28 06:39:22
    1. java获取某个文件夹的路径怎么写File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File...
  • java获取class 路径

    千次阅读 2017-11-08 10:07:39
    ClassLoader 提供了两个方法用于从装载的类路径中取得资源:  public URL getResource (String name); public InputStream getResourceAsStream (String name); 这里name是资源的类路径,它是相对与“/...
  • 1、首先需要在maven工程下的resources文件夹下添加文件 2、通过右边代码获取路径String fileName = dataPreProcess.class.getClassLoader().getResource(“char_to_id.txt”).getPath();
  • java获取java文件路径的四种方法

    千次阅读 2021-02-12 16:12:39
    java获取java文件路径的四种方法发布时间:2020-04-17 11:03:45来源:亿速云阅读:750作者:小新今天小编给大家分享的是java获取java文件路径的四种方法,很多人都不太了解,今天小编为了让大家更加了解获取java文件...
  • java 获取class文件所在路径 CreateTime--2017年11月14日15:14:32 Author:Marydon 1.获取class文件所在路径(磁盘路径、绝对路径) // 获取Test的class文件所在的完整路径 String filePath = Test.class.get...
  • Java路径 Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种:一、URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b URL是URI的特例。URL的前缀/协议,必须...
  • Java获取文件路径

    千次阅读 2020-01-19 10:55:39
    Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种: 一、路径分类 1、URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b URL是URI的特例。URL的前缀/...
  • Java获取相对路径文件

    千次阅读 2021-10-11 17:03:20
    class.getResourceAsStream("")获得的是相对路径 class.getClassLoader().getResourceAsStream("")加载器获得是绝对路径 Class.getResourceAsStream(String path) : (1)不以 “/” 开头时,默认是从此类所在的包...
  • java获得当前文件路径

    千次阅读 2021-02-12 11:55:52
    第一种:File f = new File(this.getClass().getResource("/")....结果:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin获取当前类的所在工程路径;如果不加“/”File f = new File(th...
  • JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用Filefile=newFile("c:/test.txt");这样用有...
  • java获取文件路径 | 学步园

    千次阅读 2021-03-15 15:41:03
    关于绝对路径和相对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对...
  • 本文实例讲述了JAVA获取文件绝对路径的方法。分享给大家供大家参考。具体实现方法如下:/*** 获取一个类的class文件所在的绝对路径。 这个类可以是JDK自身的类,也可以是用户自定义的类,或者是第三方开发包里的类。...
  • 主要介绍了java区分绝对路径和相对路径的方法,实例分析了java针对路径操作的相关技巧,需要的朋友可以参考下
  • java如何获取jsp页面上传的文件路径

    千次阅读 2021-02-12 15:56:31
    java文件中获得路径Thread.currentThread().getContextClassLoader().getResource("") //获得资源文件(.class文件)所在路径ClassLoader.getSystemResource("")Class_Name.class.getClassLoader().getResource("")...
  • Java获取静态资源文件路径

    千次阅读 2021-01-20 17:02:40
    Java获取静态资源文件路径 ​ 开发中经常会有文件相关的操作,比如说文件的查找,文件的存储。但是在使用中往往会因为路径问题耽误大量的开发时间。在实际中常常通过File file = new File(“c://a.txt”)方式来使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 471,664
精华内容 188,665
关键字:

java获取class文件路径

java 订阅