精华内容
下载资源
问答
  • Java获取路径
    千次阅读
    2021-02-26 16:36:14

    getClass().getResource() 方法获得相对路径( 此方法在jar包中无效。返回的内容最后包含/)

    例如 项目在/D:/workspace/MainStream/Test

    在javaProject中,getClass().getResource("/").getFile().toString() 返回:/D:/workspace/MainStream/Test/bin/

    public String getCurrentPath()

    {

    //取得根目录路径

    String rootPath=getClass().getResource("/").getFile().toString();

    //当前目录路径

    String currentPath1=getClass().getResource(".").getFile().toString();

    String currentPath2=getClass().getResource("").getFile().toString();

    //当前目录的上级目录路径

    String parentPath=getClass().getResource("../").getFile().toString();

    return rootPath;

    }

    更多相关内容
  • 下面小编就为大家带来一篇java 获取路径的各种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 在本篇文章里小编给大家整理的是一篇关于linux中java获取路径的实例代码以及相关知识点,有兴趣的朋友们可以学习参考下。
  • java获取路径

    2012-07-30 15:18:32
    java获取路径 几种获取java路径的不同用法
  • linux中java获取路径的方法发布时间:2020-05-06 11:11:26来源:亿速云阅读:700作者:小新今天小编给大家分享的是linux中java获取路径的方法,相信很多人都不太了解,为了让大家更加了解java获取路径的方法,所以给...

    linux中java获取路径的方法

    发布时间:2020-05-06 11:11:26

    来源:亿速云

    阅读:700

    作者:小新

    今天小编给大家分享的是linux中java获取路径的方法,相信很多人都不太了解,为了让大家更加了解java获取路径的方法,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

    linux中java获取路径怎么写?

    在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java"。

    在java的代码开发中 \是代表转义字符。

    相对路径和绝对路径

    . 指的是当前目录

    ..  指的是当前目录的上一级目录

    ./book表示当前目录下的book文件夹

    /book表示当前盘符下的book文件夹

    Linux绝对路径:以root根目录 / 开始的路径 如 / 表示root根目录

    下面,就是Linux中使用Java获取路径的一些操作:// 分隔符

    String fileSeperator = File.separator;

    // 用户主目录

    String userHome = System.getproperties().getProperty("user.home");

    // Java实时运行环境的安装目录

    String javaPath = System.getproperties().getProperty("java.home");

    // 操作系统名称

    String osName = System.getproperties().getProperty("os.name");

    // 当前用户程序所在目录

    String userDir = System.getproperties().getProperty("user.dir");

    // JDK的安装目录

    String jdkDir = System.getproperties().getProperty("java.ext.dirs");

    关于linux中java获取路径的方法就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

    展开全文
  • 最近在做项目的时候,自己写了一些配置参数的读取,将配置文件放到具体的位置,然后让程序根据当前类的路径...如果在 .java 文件中直接写// public static String Config = "config.properties"; 则该路径指向的就是...

    最近在做项目的时候,自己写了一些配置参数的读取,将配置文件放到具体的位置,然后让程序根据当前类的路径寻找配置文件的路径,但是,发现eclipse的开发坏境下是可以顺利读取到指定路径下的配置文件中的配置参数的,

    但是当将项目放到Tomcat下  或者 将项目打包成可执行jar包之后,编译后的class文件却读取不到了开发环境下寻找的配置文件了。

    如果在 .java 文件中直接写// public static  String Config = "config.properties";  则该路径指向的就是项目的 src 的同级目录(直接将配置文件放到项目的根目录下)

    经过查找资料和进行验证,现将读取class文件相对路径下配置文件的方法汇总如下:

    方法一:使用System获取路径

    方法二:使用当前类的ProtectionDomain或者ClassLoader获取路径

    方法三:使用Thread获取路径

    方法一:

    示例:

     public static  final String URLConfig = System.getProperty("user.dir").replace("bin", "webapps")+"/URLConfig.properties";//这种是将配置文件放到Tomcat的webapps的目录下

    其中的 System.getProperty("user.dir")  为获取用户当前工作目录

    java的System.getProperty()方法可以获取的值

    获取的代码示例:

    public   class  SystemProperty {  
        public   static   void  main(String args[]) {     
        System.out.println("java_vendor:"  + System.getProperty( "java.vendor" ));     
        System.out.println("java_vendor_url:"      
                 + System.getProperty("java.vendor.url" ));     
        System.out.println("java_home:"  + System.getProperty( "java.home" ));     
        System.out.println("java_class_version:"      
                 + System.getProperty("java.class.version" ));     
        System.out.println("java_class_path:"      
                + System.getProperty("java.class.path" ));     
        System.out.println("os_name:"  + System.getProperty( "os.name" ));     
        System.out.println("os_arch:"  + System.getProperty( "os.arch" ));     
        System.out.println("os_version:"  + System.getProperty( "os.version" ));     
        System.out.println("user_name:"  + System.getProperty( "user.name" ));     
        System.out.println("user_home:"  + System.getProperty( "user.home" ));     
        System.out.println("user_dir:"  + System.getProperty( "user.dir" ));     
        System.out.println("java_vm_specification_version:"      
                + System.getProperty("java.vm.specification.version" ));     
        System.out.println("java_vm_specification_vendor:"      
                + System.getProperty("java.vm.specification.vendor" ));     
        System.out.println("java_vm_specification_name:"      
                + System.getProperty("java.vm.specification.name" ));     
        System.out.println("java_vm_version:"      
                + System.getProperty("java.vm.version" ));     
        System.out.println("java_vm_vendor:"      
                + System.getProperty("java.vm.vendor" ));     
        System.out     
                .println("java_vm_name:"  + System.getProperty( "java.vm.name" ));     
        System.out.println("java_ext_dirs:"      
                + System.getProperty("java.ext.dirs" ));     
        System.out.println("file_separator:"      
                + System.getProperty("file.separator" ));     
        System.out.println("path_separator:"      
                + System.getProperty("path.separator" ));     
        System.out.println("line_separator:"      
                + System.getProperty("line.separator" ));     
    }

     

    上面示例引用的博客地址:https://blog.csdn.net/capmiachael/article/details/51895823

     

    方法二:

    示例1:

    复制代码

    public static String getMyDIR(){//获取当前类文件的绝对路径
    String jarWholePath = ConfigerPraram.class.getProtectionDomain().getCodeSource().getLocation().getFile(); 
    try { 
    //保险起见,将路径进行decode转码
    jarWholePath = java.net.URLDecoder.decode(jarWholePath, "UTF-8"); 
    } catch (UnsupportedEncodingException e) { System.out.println(e.toString()); } 
    //获取jar包的上级目录
    String jarPath = new File(jarWholePath).getParentFile().getAbsolutePath(); 
    return jarPath;
    }

    复制代码

    示例2:

    复制代码

    /**
         * 获取项目所在路径
         * 
         * @return
         */
        public static String getRealPath() {
         //通过类加载器获取jar包的绝对路径
            String realPath = MyPath.class.getClassLoader().getResource("")
                    .getFile();
            java.io.File file = new java.io.File(realPath);
            realPath = file.getParentFile().getAbsolutePath(); //获取jar包的上级目录
    try {
           //路径decode转码
                realPath = java.net.URLDecoder.decode(realPath, "utf-8");
            } catch (Exception e) {
                e.printStackTrace();
            }  
        return realPath ; 
      }

    复制代码

     

     

    方法三:(该方法还未做验证,引用博客:https://blog.csdn.net/z69183787/article/details/22774537)

    Thread.currentThread().getContextClassLoader().getResource("")来得到当前的classpath的绝对路径的URI表示法

    Application可以通过new FileInputStream("xx.properties");直接在classes一级获取。关键是有时我们需要通过web修改配置文件,我们不 能将路径写死了。经过测试觉得有以下心得:

    1.servlet中读写。如果运用Struts 或者Servlet可以直接在初始化参数中配置,调用时根据servlet的getRealPath("/")获取真实路径,再根据String file = this.servlet.getInitParameter("abc");获取相对的WEB-INF的相对路径。
    例:
    InputStream input =Thread.currentThread().getContextClassLoader().getResourceAsStream("abc.properties"); 
    Properties prop = new Properties();
    prop.load(input);
    input.close();

    prop.setProperty("abc", “test");
    prop.store(new FileOutputStream(path), “–test–"); 
    out.close(); 

    2.直接在jsp中操作,通过jsp内置对象获取可操作的绝对地址。
    例:
    // jsp页面
    String path = pageContext.getServletContext().getRealPath("/");
    String realPath = path+"/WEB-INF/classes/abc.properties";

    //java 程序
    InputStream in = getClass().getClassLoader().getResourceAsStream("abc.properties"); // abc.properties放在webroot/WEB-INF/classes/目录下
    prop.load(in);
    in.close();

    OutputStream out = new FileOutputStream(path); // path为通过页面传入的路径
    prop.setProperty("abc", “abcccccc");
    prop.store(out, “–test–");
    out.close();

    3.只通过Java程序操作资源文件
    InputStream in = new FileInputStream("abc.properties"); // 相对路径,项目下的路径

    OutputStream out = new FileOutputStream("abc.properties");

     

    下面的参考解释引用于博客:https://www.cnblogs.com/gaoxing/p/4703412.html

     

    打个简单的比方,你一个WEB程序,发布到Tomcat里面运行。
    首先是执行Tomcat org.apache.catalina.startup.Bootstrap类,这时候的类加载器是ClassLoader.getSystemClassLoader()。
    而我们后面的WEB程序,里面的jar、resources都是由Tomcat内部来加载的,所以你在代码中动态加载jar、资源文件的时候,首先应该是使用Thread.currentThread().getContextClassLoader()。如果你使用Test.class.getClassLoader(),可能会导致和当前线程所运行的类加载器不一致(因为Java天生的多线程)。
    Test.class.getClassLoader()一般用在getResource,因为你想要获取某个资源文件的时候,这个资源文件的位置是相对固定的。

    java的类加载机制(jvm规范)是委托模型,简单的说,如果一个类加载器想要加载一个类,首先它会委托给它的parent去加载,如果它的所有parent都没有成功的加载那么它才会自己亲自来,有点儿像儿子使唤老子的感觉。

     

    如果你使用Test.class.getClassLoader(),可能会导致和当前线程所运行的类加载器不一致 :Class.getClassLoader() returns the class loader for the class. Some implementations may use null to represent the bootstrap class loader. This method will return null in such implementations if this class was loaded by the bootstrap class loader.

    展开全文
  • 今天小编就为大家分享一篇完美解决Java获取文件路径出现乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • java 获取当前路径

    2013-04-19 10:17:00
    如何在java 编程中获取当前的路径
  • 主要介绍了JAVA获取文件绝对路径的方法,涉及针对文件路径的操作技巧,需要的朋友可以参考下
  • java获取路径

    2013-08-21 09:19:22
    java、servlet、jsp、class等等中如何获得所在的路径
  • Android java获取路径中文件名

    千次阅读 2019-04-12 18:05:13
    其他文件名也可以参考这样去获取自己想要的文件名,前提是你先要拿到这文件的路径,你才可以去调用这个方法去实现。由于知识有限,有不足的,可以在【评论区】留意,我们一起去探讨学习,谢谢。     ...

           平常时,我们多少都会接触到文件的使用情况,例如从手机的图库去取图片和视频,但是用intent调用,一般直接回返回来的一长串的地址,我们刚好需要的是文件名+后缀,等一些形式,这样子,就有时候我们就不知道怎么下手了,但是有的人也会说,用正则表达式也可以啊,的确可以,但是我想我自己找网上找的别人的一些,不错的方法,也值得我们学习。也是我自己实际项目中用到的,就记录一下,方便自己学习。

        上码:

           

        public class GetFileName {
            public String getFileName(String pathandname) {
                /**
                 * 仅保留文件名不保留后缀
                 */
                int start = pathandname.lastIndexOf("/");
                int end = pathandname.lastIndexOf(".");
                if (start != -1 && end != -1) {
                    return pathandname.substring(start + 1, end);
                } else {
                    return null;
                }
            }
    
            /**
             * 保留文件名及后缀
             */
            public String getFileNameWithSuffix(String pathandname) {
                int start = pathandname.lastIndexOf("/");
                if (start != -1) {
                    return pathandname.substring(start + 1);
                } else {
                    return null;
                }
            }
        }
    

    我们看看实际效果:

     

     

     

    其他文件名也可以参考这样去获取自己想要的文件名,前提是你先要拿到这文件的路径,你才可以去调用这个方法去实现。由于知识有限,有不足的,可以在【评论区】留意,我们一起去探讨学习,谢谢。

     

     

    
        //获取本地文件夹的图片格式
        private void filefload() {
            File scanner5Directory = new File(XXXXXXXXXX);
            if (scanner5Directory.isDirectory()) {
                for (File file : scanner5Directory.listFiles()) {
                    String path = file.getAbsolutePath();
                    if (path.endsWith(".jpg") || path.endsWith(".png") || path.endsWith(".jpeg")) {
                        list.add(path);
                    }
                }
            }
    
        }
    

     

    展开全文
  • 1、利用System.getProperty()函数获取当前路径:  System.out.println(System.getProperty(user.dir));//user.dir指定了当前的路径  2、使用File提供的函数获取当前路径:  File directory = new File(&#...
  • java获取路径,文件名的方法总结

    万次阅读 2015-11-18 18:56:57
    java获取路径,文件名的方法总结1. 文件路径获取Thread.currentThread().getContextClassLoader().getResource(“”) //获得资源文件(.class文件)所在路径 ClassLoader.getSystemResource(“”) ClassName.class....
  • java获取路径(url) path

    千次阅读 2021-02-12 09:46:30
    JAVA路径的方法:注明:如果从ANT启动程序,this.getClass().getResource("")取出来的比较怪,直接用JAVA命令行调试就可成功。得到classpath和当前类的绝对路径的一些方法获得CLASSPATH之外路径的方法:URL base = ...
  • 主要为大家详细介绍了java获取各种路径的基本方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了Java获取路径 classpath 的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • java实现 获取指定路径下 指定格式 的所有文件
  • 以下是对java获取项目文件路径的实现方法进行了介绍,需要的朋友可以过来参考下
  • 主要介绍了java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径,需要的朋友可以参考下
  • JAVA获取文件路径

    千次阅读 2021-02-12 09:00:53
    但是在项目中获取的文件路径,可能并不是我们想要的文件路径,因为开发项目中获取路径与打成jar包后的路径并不一致。以一个SpingCloud项目为例,且有多个模块1. 获取资源路径String filePath = this.getClass()....
  • JAVA获取各种路径总结

    2010-09-09 11:15:48
    JSP中获得当前应用的相对路径和绝对路径  根目录所对应的绝对路径、 文件的绝对路径 、 当前web应用的绝对路径、 取得请求文件的上层目录……
  • Java获取路径中文问题解决

    千次阅读 2016-04-30 22:54:42
    获取Java某类的当前路径,通过调用class.getResource 取得中文路径,返回结果如下: D:/%e5%b7%a5%e4%bd%9c/%e7%bd%91%e7%bb%9c%e6%8e%a5%e5%85%a5%e6%8e%a7%e5%88%b6/ 注:中文路径为D:
  • 主要介绍了Java获取文件的路径及常见问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 主要介绍了Java获取当前路径的几种方法总结的相关资料,需要的朋友可以参考下
  • Java获取相对路径文件

    千次阅读 2021-10-11 17:03:20
    1. 文件在src下 class.getResourceAsStream("")获得的是相对路径 class.getClassLoader()....(2)以**“/”**开头,则是从ClassPath(Src根目录)根下获取。 Class.getClassLoader.getResourceAsStrea
  • Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。 2. 文件的路径 文件的路径通常有 相对路径 与 绝对路径。 2.1 相对路径 以当前文件为基准...
  • 下面小编就为大家带来一篇Java获取路径classpath的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 需要获取所有类及其方法,以便对权限进行控制。以后开发系统时,可以对角色权限等进行相关操作控制。下面提供一种获取所有类及其方法的方法
  • 主要介绍了Java获取此次请求URL以及服务器根路径的方法,需要的朋友可以参考下
  • import java.io.File;public class FileName {/*** @param args*/public static void main(String[] args) {// 举例:String fName =" G:\\Java_Source\\navigation_tigra_menu\\demo1\\img\\lev1_ar...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 709,741
精华内容 283,896
关键字:

java 获取路径

java 订阅