精华内容
下载资源
问答
  • 相对路径和绝对路径区别是什么相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对。绝对路径-以Web站点根目录...

    相对路径和绝对路径区别是什么

    相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对。

    绝对路径-以Web站点根目录为参考基础的目录路径。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。

    其实绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同。由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之为绝对路径。

    以下为建立路径所使用的几个特殊符号,及其所代表的意义。

    "."--代表目前所在的目录。

    ".."--代表上一层目录。

    "/"--代表根目录。

    接下来,我们假设读者所建立的Web站点拥有如下图所示目录路径。

    假若要在Ref.htm文件中引用BeRef.gif文件时,其相对路径如下:

    ./SubDir2/BeRef.gif

    上面的引用路径中,"."代表目前的目录(Dir1),所以"./SubDir2"代表目前目录下的SubDir2。其实,也可以省略"./"直接用下这个方式引用。

    SubDir2/BeRef.gif

    若使用绝对路径以根目录为参考点引用该文件时,引用路径如下:

    /Dir1/SubDir2/BeRef.gif

    如果Web站点的目录之结构如下图时

    引用BeRef.gif文件的相对路径又是如何呢?

    假若要在Ref.htm文件中引用BeRef.gif文件时其相对路径如下:

    ../SubDir2/BeRef.gif

    上面的引用路径中,".."代表上一层目录,所以,/Dir2"代表上一层目录下的Dir2子目录。若使用绝对路径引用时,则引用路径如下:

    /Dir2/BeRer.gif

    我们再举一个比较复杂的例子,来比较一下相对路径与绝对路径的使用。假设在读者所建立之Web站点中,拥有如下图的目录路径。

    我们用以一个表格来说明在上图的情况下,某文件引用另一文件时,所应使用的相对路径与绝对路径。

    引用者

    被引用者

    相对路径

    绝对路径

    Ref1.htm

    BeRef1.gif

    ../SubDir2/BeRef1.gif

    /Dir1/SubDir2/BeRef1.gif

    Ref2.htm

    BeRef1.gif

    ../../Dir1/SubDir2/ BeRef1.gif

    /Dir1/SubDir2/ BeRef1.gif

    Ref1.htm

    BeRef2.htm

    ../../Dir2/ BeRef2.htm

    /Dir2/BeRef2.htm

    Ref2.htm

    BeRef2.htm

    ../BeRef2.htm

    /Dir2/BeRef2.htm

    上表中比较需要说明的是"../../"所代表的意义。

    ".."代表上一层目录,而"../../"所代表的是上一层目录的上一层目录。所以,从上表中可以看出,如果引用的文件存在于目前目录的子目录中,或者存在于上一层目录的

    另一个子目录中,运用相对路径是比较方便的。如果不是时,则干脆利用绝对路径,还比较省事。从上表中,亦可以看出,当被引用的是同一个文件时,引用文件所使用的绝对路径是一样的。

    收起

    6f93e2c92fc5e58e2ec18df1db0b9f08.png

    阅读全文

    9ded402a52cdd2b9481e864a5093252c.png

    展开全文
  • java中使用相对路径读取文件的方法:1、使用文件【File file = new File(“src/test.txt”)】方法;2、使用类的相对路径;3、使用当前线程的类加载器;4、读取web工程下的文件。【相关学习推荐:java中使用相对路径...

    java中使用相对路径读取文件的方法:1、使用文件【File file = new File(“src/test.txt”)】方法;2、使用类的相对路径;3、使用当前线程的类加载器;4、读取web工程下的文件。

    7a0b16a9ffb1964a24622ad7b063af2f.png

    【相关学习推荐:

    java中使用相对路径读取文件的方法:

    一、简单粗暴的 File file = new File(“src/test.txt”);@Test

    /**

    * 这种方法 “” 空代表的是 这个Java项目 TestSomeTechnology 由于实际项目在打包后没有src目录 所以这种方法不常用

    */

    public void testMethod1() throws IOException{

    File file = new File("src/test.txt");

    BufferedReader br = new BufferedReader(new FileReader(file));

    String len = null;

    while ((len=br.readLine())!=null){

    System.out.println(len);

    }

    }

    二、使用类的相对路径

    TestRelativePath.class.getResource(“/test.txt”).getFile()@Test

    /**

    * 使用类的相对路径

    * 这种方法 “/” 代表的是bin。 src文件夹和resources 文件夹下的的东西都会被加载到bin下面 因为这两个文件被配置为了source

    */

    public void testMethod2() throws IOException{

    File file = new File(TestRelativePath.class.getResource("/test.txt").getFile());

    BufferedReader br = new BufferedReader(new FileReader(file));

    String len = null;

    while ((len=br.readLine())!=null){

    System.out.println(len);

    }

    }

    三、使用当前线程的类加载器

    Thread.currentThread().getContextClassLoader().getResource(“test.txt”).getFile()@Test

    /**

    * 这种是通过当前线程的类加载器

    * 这种方法 “ ” 空代表的是bin 。 于是就直接填写test,文件夹下的的东西都会被加载到bin下面,因为这两个文件被配置为了source

    */

    public void testMethod3() throws IOException{

    File file = new File(Thread.currentThread().getContextClassLoader().getResource("test.txt").getFile());

    BufferedReader br = new BufferedReader(new FileReader(file));

    String len = null;

    if ((len=br.readLine())!=null){

    System.out.println(len);

    }

    }

    四、读取web工程下的文件 使用getRealPath()读取

    目录如下 :

    e165045475143486534ccfbb9bc7ad0f.png

    读取 index.jsp@WebServlet(name = "TestServlet",urlPatterns = "/TestServlet")

    public class TestServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    doGet(request,response);

    }

    /**

    * web工程的根目录是 webRoot, 使用 “/” 代表webroot webroot下面有index.jsp文件

    */

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    File file = new File(getServletContext().getRealPath("/index.jsp"));

    BufferedReader br = new BufferedReader(new FileReader(file));

    String len = null;

    while ((len=br.readLine())!=null){

    System.out.println(len);

    }

    }

    }

    读取 test.txt文件

    不过如果想读取test.txt 的话 我们可用用上面的方式File file = new File(Thread.currentThread().getContextClassLoader().getResource("test.txt").getFile());

    也可以使用 getRealPath()

    不过由于是以 webroot为根目录 我们需要从classes里面读:idea的classes等价于esclipse的classpath 。classes说明:

    787ead82f4c5d481919ab65200a04e13.png

    代码:File file = new File(getServletContext().getRealPath("/WEB-INF/classes/test.txt"));

    getResourceAsStream()方法详解

    getResourceAsStream()用法与getResouce()方法一样的,用getResource()取得File文件后,再new FileInputStream(file) 与 getResourceAsStream() 的效果一样。。

    两个代码效果一样InputStream inputStream1 = new FileInputStream(new File(Thread.currentThread().getContextClassLoader().getResource("test.txt").getFile()));

    InputStream inputStream2 = Thread.currentThread().getContextClassLoader().getResourceAsStream("test.txt");

    展开全文
  • 相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表...

    1.基本概念的理解

    绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:

    C:xyz est.txt 代表了test.txt文件的绝对路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。

    另外关于URI,URL,URN等内容,请参考RFC相关文档标准。

    RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,

    2.其用到的地方有:

    forward:servlet中的request.getRequestDispatcher(address);这个address是在服务器端解析的,所以,你要forward到a.jsp应该这么写:

    request.getRequestDispatcher(“/user/a.jsp”)这个/相对于当前的web应用webapp,sendRedirect:在jsp中

    2.22、客户端的地址

    所有的html页面中的相对地址都是相对于服务器根目录的,而不是跟目录下的该Web应用的目录。 Html中的form表单的action属性的地址应该是相对于服务器根目录的,所以,如果提交到a.jsp为:action="/webapp/user/a.jsp"或action=""/user/a.jsp;提交到servlet为actiom="/webapp/handleservlet" 。

    Javascript也是在客户端解析的,所以其相对路径和form表单一样。因此,一般情况下,在JSP/HTML页面等引用的CSS,Javascript.Action等属性前面最好都加上,以确保所引用的文件都属于Web应用中的目录。

    另外,应该尽量避免使用类似".","./","../../"等类似的相对该文件位置的相对路径,这样当文件移动时,很容易出问题。

    3. JSP/Servlet中获得当前应用的相对路径和绝对路径

    3.1 JSP中获得当前应用的相对路径和绝对路径

    根目录所对应的绝对路径:request.getRequestURI()

    文件的绝对路径  :application.getRealPath(request.getRequestURI());

    当前web应用的绝对路径 :application.getRealPath("/");取得请求文件的上层目录:

    new File(application.getRealPath(request.getRequestURI())).getParent()

    3.2 Servlet中获得当前应用的相对路径和绝对路径

    根目录所对应的绝对路径:request.getServletPath();

    文件的绝对路径 :request.getSession().getServletContext().getRealPath

    (request.getRequestURI())

    当前web应用的绝对路径 :

    servletConfig.getServletContext().getRealPath("/");

    (ServletContext对象获得几种方式:

    javax.servlet.http.HttpSession.getServletContext()

    javax.servlet.jsp.PageContext.getServletContext()

    javax.servlet.ServletConfig.getServletContext()

    www.it-accp.com

    4.java 的Class中获得相对路径,绝对路径的方法

    4.1单独的Java类中获得绝对路径

    根据java.io.File的Doc文挡,可知:

    默认情况下new File("/")代表的目录为:System.getProperty("user.dir")。

    以下程序获得执行类的当前路径

    package org.cheng.file;

    import java.io.File;

    public class FileTest {

    public static void main(String[] args) throws Exception {

    System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));

    System.out.println(FileTest.class.getClassLoader().getResource(""));

    System.out.println(ClassLoader.getSystemResource(""));

    System.out.println(FileTest.class.getResource(""));

    System.out.println(FileTest.class.getResource("/")); //Class文件所在路径

    System.out.println(new File("/").getAbsolutePath());

    System.out.println(System.getProperty("user.dir"));

    展开全文
  • Hibernate总结SSH原理总结 Hibernate工作原理及为什么要用: 原理: hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改 ...HDU 5820 (可持久化...

    Hibernate总结

    SSH原理总结 Hibernate工作原理及为什么要用: 原理: hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改 ...

    HDU 5820 (可持久化线段树)

    Problem Lights (HDU 5820) 题目大意 在一个大小为50000*50000的矩形中,有n个路灯.(n<=500000) 询问是否每一对路灯之间存在一条道路,使得长度为|x1 ...

    Linux数据归档和解压缩tar&comma;cpio&comma;gzip&comma;bzip&comma;lzma&comma;zip命令使用

    转载:http://www.1987.name/659.html 数据压缩归档和备份是系统管理的日常工作,定期备份不可小视,归档和压缩对于系统管理员或是普通用户来说都经常用到的操作,有很多中压缩格式, ...

    P102、面试题14:调整数组顺序使奇数位于偶数前面

    题目:输入一个整数数组,实现一个函数来调整该数组中数字的属性怒,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 思路:其实就是用快速排序法的第一轮排序,从左右夹逼,左边遇到偶数,停下来, ...

    HDU-3790 最短路径问题

    最短路径问题 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...

    Ubuntu16&period;04 部署配置GO语言开发环境 &amp&semi; 注意事项

    1. 安装GO 安装go语言包: $ curl -O https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz   下载完成后 ...

    MVC 5 Scaffolder &plus; EntityFramework&plus;UnitOfWork Pattern 代码生成工具集成Visual Studio 2013

    MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具 经过一个多星期的努力总算完成了单表,多表关联(一对多,多对一)的增删改查的代码 ...

    kali linux 下搭建git服务器

    参考:http://www.cnblogs.com/dee0912/p/5815267.html https://www.liaoxuefeng.com/wiki/001373951630592960 ...

    ROSETTA使用技巧随笔--蛋白蛋白对接

    先写简略版,以后再详细写. 1. 对输入结构进行预处理(refine) $> relax.default.linuxgccrelease -in:file:s input_files/from_ ...

    【Unity】11&period;7 布料

    分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 Unity提供了两种布料组件:交互布料(Interactive Cloth).蒙皮布料(Skinned Cloth).为 ...

    展开全文
  • java文件的相对路径2007-6-8文字大小:大中...今天准备检查一下,相对路径到底应该怎么写。测试代码:public class TestFilePath {? public static void main(String[] args) {??? TestFilePath testFilePath1 = new ...
  • 今天准备检查一下,相对路径到底应该怎么写。测试代码:public class TestFilePath {? public static void main(String[] args) {http://www.gaodaima.com/41110.htmljava文件的相对路径??? TestFilePath te...
  • 我想写“D: \\case\\**\\input”case下有case1,case2,case3文件夹,所以想用相对路径替代,应该怎么写呢?
  • 刚刚接触过Java编程的朋友会遇到一些情况,比如:读过一次Java基础教程后,就不能编写自己的代码;在编写代码时,他们经常遇到他们不理解...怎么才能学好Java编程好代码?每个接触Java编程的人都有不同的基础和不...
  • https://blog.csdn.net/my__sun_/article/details/74450241读取文件的写法,相对路径在当前的目录结构中读取test.txt的有四种写法简单粗暴的 File file = new File(“src/test.txt”)使用类的相对路径使用当前线程的...
  • 背景:html在刚开始学习javaweb,使用...后来,在课堂上,通过老师的讲解,再加上本身的一些思考和实验,终于对web项目中文件中路径的访问有了一些了解。前端注:如下只是我我的在测试中的一些理解,内容并不全面。j...
  • 一般在使用sqlite的时候都是配置url为绝对路径,但是今天在测试代码的时候想到如果将项目不到tomcat上之后,db文件总不能一直配置成绝对路径,肯定是项目中的某个位置,因此对jdbc配置文件进行了修改:jdbc.url=jdbc...
  • if(bgImage==null){ try { bgImage = ImageIO.read(new File("E:/image/background.jpg")); } catch (IOException e) { e.printStackTrace();... 这段代码如何改为图片的xiang对地址
  • linux中java获取路径怎么写?在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java"。在java的代码开发中 是代表转义字符。相对路径和绝对路径. 指的是当前目录.. 指的是当前目录的上一级目录./book表示当前...
  • 2. 文件的路径文件的路径通常有 相对路径 与 绝对路径。2.1 相对路径以当前文件为基准进行一级级目录指向被引用的资源文件。在 Java 代码中以当前运行的代码所在的位置为参照位置,只要被引用的文件相对于引用的文件...
  • linux中java获取路径怎么写?在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java"。在java的代码开发中 \是代表转义字符。相对路径和绝对路径. 指的是当前目录.. 指的是当前目录的上一级目录./book表示当前...
  • java文件的相对路径

    千次阅读 2004-09-19 14:59:00
    今天准备检查一下,相对路径到底应该怎么写。测试代码:public class TestFilePath {? public static void main(String[] args) {??? TestFilePath testFilePath1 = new TestFilePath();??? File f
  • linux中java获取路径怎么写?在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java"。在java的代码开发中 \ 是代表转义字符。相对路径和绝对路径. 指的是当前目录.. 指的是当前目录的上一级目录./book表示...
  • 如题,本人小白一枚,正在学JDBC这一部分,想问一下连接数据库的相对路径怎么写?在把数据库和类放在同一个文件夹里的时候连接没有问题,这样写没问题:String url = "jdbc:mysql://localhost:3306/db_database_06...
  • 在写程序过程中,需要访问某路径下的文件的时候,容易搞不清楚路径怎么写,自己有时候也会搞混,所以自己就对此做个小小的总结 路径:分为相对路径和绝对路径; 1.绝对路径(目录下的绝对位置,直接到达目标位置,...
  • 作者:freewolfjuejin.im/post/5902ca705c497d005829ed6f关键词Spring Boot、OAuth 2.0、JWT、Spring Security、SSO、UAA在前面这几天有人问我Spring Boot结合Spring Security实现OAuth认证的问题,了个Demo,...
  • 哎呀卧槽真复杂给你整出来了privatefinalstaticPatternATTR_PATTERN=Pattern.compile("]*?\\ssrc=['\"]?(.*?)['\"]?\\s.*?>",Pattern.CASE_INSENSITIVE);privatestaticStringgetAbsSource(Stringsource,...
  • 为什么我怎么写都不对?(写绝对路径是OK的) test.war的目录结构为: WEB-INF classes lib setting.properties web.xml 下面几种相对路径都不对:不知道怎么回事? [code="java"] FileInputStream is...
  • 在做javaweb开发的时候,我们可能会需要从本地硬盘上读取某一个文件资源,或者修改某一个文件,这个时候就需要先找到这个文件,然后用FileInputStrem等文件...二、相对路径。。来来来,我们掰扯一下这两种方法的不...
  • 怎么得到java类当前路径

    千次阅读 2008-06-18 17:57:00
    关键字: 路径 java中当前路径 java相对路径 怎么得到java类的当前路径而不是编印后的对应的.class文件路径 我了一个类 它的路径是 E:/workspace/WorkFlow/WorkFlow/src/com/njusoft/syschroFlow/test(这个是我要...
  • 在学习javaweb项目相对路径与绝对路径之前,我们要搞清楚java程序在运行时是怎么跑的。 我们平时的代码统称java文件,也就是源文件,而.class文件是虚拟机编译得到的,虚拟机需要把我们的.java文件编译成它可...
  • linux中java获取路径怎么写?在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java"。在java的代码开发中 \ 是代表转义字符。相对路径和绝对路径. 指的是当前目录.. 指的是当前目录的上一级目录./book表示...
  • eclipse中的相对路径

    千次阅读 2013-10-05 14:39:45
    新手初用eclipse时可能会和我一样碰到一些相对路径的问题。   比如,我的包的目录如下:  ... 如果想在Test.java里面引用1.jpg文件时我们的相对路径怎么写呢?我们的直觉可能是../images/1.jpg, 不过这在e

空空如也

空空如也

1 2 3 4 5
收藏数 82
精华内容 32
关键字:

java怎么写相对路径

java 订阅