zoukankan      html  css  js  c++  java
  • day1 java基础回顾- 文件路径

    绝对路径

    以根目录或某盘符开头的路径(或者说完整的路径)

    例如:

    l  c:/a.txt (Windows操作系统中)

    l  c:/xxx/a.txt (Windows操作系统中)

    l  /var/xx/aa.txt (Linux操作系统中)

    绝对路径的问题: 比如C:abca.properties文件路径,该路径在windows上执行没有 问题,但是如果把该项目移动到linux上面执行 ,该路径就会出现问题了,因为在linux上面没有c盘的,只有根目录。

    相对路径

    相对于当前路径的一个路径,相对路径是相对于当前程序的路径。当前路径就是执行java命令的时候,控制台所在的路径。例如当前文件夹为c:/abc时:相对路径a.txt表示c:/abc/a.txt,相对路径xx/a.txt = c:/abc/xx/a.txt

          

    l  .  表示当前文件夹

    l  .. 表示上级文件夹 

    相对路径存在的问题:相对路径是相对于目前执行class文件的时候,控制台所在的路径,这样子也会导致出现问题。

    Java程序中的相对路径

    在Java程序中使用File时写相对路径,是指相对于执行java命令时当前所在的文件夹。

    测试代码:

    1 public class PathTest {
    2     public static void main(String[] args) throws Exception {
    3         System.out.println(new File("a.txt").getAbsolutePath());
    4     }
    5 }

    在命令行中使用cd命令切换到不同的路径下试试,可以看到以上所说的效果。

    在Eclipse中,当前路径是工程的根目录。

    classpath路径

    1、classpath路径说明

    在Java程序中,一般情况下使用绝对路径还是相对路径都不太合适,因为Java程序的jar包所放的位置不确定,执行java程序时当前的路径也不确定,所以不合适。一般在Java程序中我们会把资源放到classpath中,然后使用classpath路径查找资源。

    Classpath路径:就是使用classpath目前的路径。

    2、获取classpath中的资源(InputStream)

    1 public static void main(String[] args) throws Exception {
    2     Class clazz = new ClassPathTest().getClass();
    3     
    4     // 开头的'/'表示classpath的根目录,这个是表示从classpath的根目录中开始查找资源
    5     InputStream in = clazz.getResourceAsStream("/cn/itcast/my.properties");
    6 
    7     // 如果开头没有'/',表示从当前这个class所在的包中开始查找
    8     InputStream in2 = clazz.getResourceAsStream("my.properties");
    9 }
  • 相关阅读:
    Dynamics CRM 2011/2013 通过Javascript给lookup字段赋值
    shell重定向(大于号,小于号,左右,2>&1,&)
    Dynamics CRM2011 同一个FORM表单同一个字段可以摆放多次
    词的向量表示
    机器翻译领域的新突破
    Dynamics CRM2011 隐藏sub-grid 新建项和添加现有项按钮
    sed常用方法与命令
    Dynamics CRM Odata QueryUrl中的SetName问题
    hive发杂数据结构的使用,struct,array,map
    maven 经常使用命令
  • 原文地址:https://www.cnblogs.com/Michael2397/p/5943936.html
Copyright © 2011-2022 走看看