精华内容
下载资源
问答
  • java获取文件的路径怎么写我们在上传文件和文件处理的时候需要获取资源文件的路径。但是在项目中获取的文件路径,可能并不是我们想要的文件路径,因为开发项目中获取的路径与打成jar包后的路径并不一致。(推荐教程:...

    4ea0df45cab6f457f9333a10ca1f7d45.png

    java获取文件的路径怎么写

    我们在上传文件和文件处理的时候需要获取资源文件的路径。但是在项目中获取的文件路径,可能并不是我们想要的文件路径,因为开发项目中获取的路径与打成jar包后的路径并不一致。(推荐教程:java教程)

    1. 获取资源路径String filePath = this.getClass().getResource("").getPath();

    System.out.println("filePath: " + filePath);

    在项目开发中展示的路径:filePath: /home/idea/project/java_basic/selfimpr-fileupload/target/classes/com/selfimpr/fileupload/controller/

    在项目打成jar包中的路径:filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/selfimpr/fileupload/controller/

    2. 获取项目文件编译路径String filePath = this.getClass().getResource("/").getPath();

    System.out.println("filePath: " + filePath);

    在项目开发中展示的路径:filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/classes/

    在项目打成jar包中的路径:filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/

    3. 获取项目根路径(一)File files = new File("");

    String filePath = files.getCanonicalPath();

    System.out.println("filePath: " + filePath);

    在项目开发中展示的路径:filePath: /home/idea/project/java_basic

    在项目打成jar包中的路径:filePath: /home/idea/project/java_basic/selfimpr-fileupload/target

    4. 获取项目根路径(二)String filePath = System.getProperty("user.dir");

    System.out.println("filePath: " + filePath);

    在项目开发中展示的路径:

    filePath: /home/idea/project/java_basic

    在项目打成jar包中的路径:

    filePath: /home/idea/project/java_basic/selfimpr-fileupload/target

    5.开发环境和jar环境都能使用/* 此方法,传入参数为String,不能带/ */

    resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("/templates" + url);

    /* 此方法,传入参数为String,不能带/ */

    resourceAsStream = this.getClass().getResourceAsStream("/templates" + url);

    此方法获取的项目路径,不管是编译期间还是打成jar包的环境,都能获取到resources路径下的文件。

    展开全文
  • 主要介绍了Java获取文件的路径及常见问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • java获取文件的路径问题在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有”/“和没有...

    java获取文件的路径问题

    在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。

    本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有”/“和没有""的问题,以及getResourceAsStream(String string)和getResource(String string)的问题。

    1.项目结构

    b637f3bdd1a02a4b6ad014457a233ec9.png

    解释一下,主要有两个配置文件,a.properties和b.properties,a.properties方法java的代码里,b.properties放在resources的配置目录中。

    编译之后,classpath的路径为:target/classes,斜线"/"指的也是这个路径,所有,如果有斜线就会去这个路径下面去找,如果没有斜线,就会去那个类的当前坐在路径去找。

    2.例子

    public class TestPath {

    public static void main(String[] args) {

    TestPath t = new TestPath();

    //在当前TestPath类所在的包查询

    InputStream a = t.getClass().getResourceAsStream("a.properties");

    //在classpath路径下进行查询

    InputStream b = t.getClass().getResourceAsStream("/b.properties");

    //在当前TestPath类所在的包查询

    URL url_a = t.getClass().getResource("a.properties");

    //在classpath路径下进行查询

    URL url_b = t.getClass().getResource("/b.properties");

    System.out.println();

    }

    }

    以上,两个方法都可以用来定位文件,区别有两个:

    有没有斜线,没有斜线的话在类方法的所在package中查询,如果有斜线,就去classpath下面查询

    返回值,getResourceAsStream()返回的是InputStream,可以直接读取。getResource()返回的是URL对象,方便获取文件的path路径。

    展开全文
  • 这篇文章主要介绍了Java获取文件的路径及常见问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下在java中读取读取文件,经常因为路径的问题找不到,此...

    这篇文章主要介绍了Java获取文件的路径及常见问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。

    本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有”/“和没有""的问题,以及getResourceAsStream(String string)和getResource(String string)的问题。

    1.项目结构

    11fa338fdfcfe1bc8d88485c5e4b81fa.png

    解释一下,主要有两个配置文件,a.properties和b.properties,a.properties方法java的代码里,b.properties放在resources的配置目录中。

    编译之后,classpath的路径为:target/classes,斜线"/"指的也是这个路径,所有,如果有斜线就会去这个路径下面去找,如果没有斜线,就会去那个类的当前坐在路径去找。

    2.例子

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    public class TestPath {

    public static void main(String[] args) {

    TestPath t =new TestPath();

    //在当前TestPath类所在的包查询

    InputStream a = t.getClass().getResourceAsStream("a.properties");

    //在classpath路径下进行查询

    InputStream b = t.getClass().getResourceAsStream("/b.properties");

    //在当前TestPath类所在的包查询

    URL url_a = t.getClass().getResource("a.properties");

    //在classpath路径下进行查询

    URL url_b = t.getClass().getResource("/b.properties");

    System.out.println();

    }

    }

    以上,两个方法都可以用来定位文件,区别有两个:

    有没有斜线,没有斜线的话在类方法的所在package中查询,如果有斜线,就去classpath下面查询

    返回值,getResourceAsStream()返回的是InputStream,可以直接读取。getResource()返回的是URL对象,方便获取文件的path路径。

    以上就是本文的全部内容,希望对大家的学习有所帮助

    展开全文
  • 1. 前言Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。2. 文件的路径文件的路径通常有 相对路径 与 绝对路径。2.1 相对路径以当前文件为基准...

    1. 前言

    Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。

    2. 文件的路径

    文件的路径通常有 相对路径 与 绝对路径。

    2.1 相对路径

    以当前文件为基准进行一级级目录指向被引用的资源文件。在 Java 代码中以当前运行的代码所在的位置为参照位置,只要被引用的文件相对于引用的文件的位置不变就可以被读取到。一旦改变相对位置就无法被读取到。

    2.2 绝对路径

    文件在文件系统中真正存在的路径,是指从硬盘的根目录(Windows为盘符)开始,进行一级级目录指向文件(从根目录一层层读写)。绝对路径顾名思义就是绝对的地址,就像你只要告诉别人你家的门牌号,他就能找到你家。而不是相对位置你告诉他在老王家的隔壁一样。

    2.3 路径速记符

    我们经常看到一些文件目录路径使用一些符号来简写,这里有必要总结一下(以类 Unix系统为例):

    标识符

    说明

    ../

    表示当前文件所在的目录的上一级目录

    ./

    表示当前文件所在的目录

    /

    表示根目录

    ~

    当前用户目录, mac 下为 /Users/username,而 win10下为c:\users\username

    Windows 下基本将 / 改为 \ 即可。

    3. Java 中读取文件

    我们先来声明一个测试路径:

    foo

    |_src

    | |_Test.java

    | |_app.yml

    其中 Test.java 用来编写读取 app.yml 文件的逻辑。Java 中通过java.io.File 来进行文件操作。并且提供了以下三个方法来获取文件的路径。

    3.1 getPath

    该方法返回文件抽象路径名的字符串形式。实际上就是传递给 File 构造函数的路径名。

    因此,如果 File 对象是使用相对路径创建的,则返回的值也将是相对路径。如果是绝对路径就返回绝对路径。

    File file = new File("./app.yml");

    # 输出 path = ./app.yml

    System.out.println("path = " + file.getPath());

    # 如果为绝对路径

    File file = new File("/Users/dax/IdeaProjects/foo/src/app.yml");

    # 输出 path = path = /Users/dax/IdeaProjects/foo/src/app.yml

    System.out.println("path = " + file.getPath());

    3.2 getAbsolutePath

    该方法返回文件的绝对路径。请注意!这里是有大坑的。如果你的文件在 Java 工程内,路径是按照编译后的路径计算的。

    File file = new File("./app.yml");

    # absolutePath = /Users/dax/IdeaProjects/foo/./app.yml

    System.out.println("absolutePath = " + absolutePath);

    同时我们发现该方法只解析当前目录(上面代码所在的目录)的相对路径,如果初始化中的路径包含了 2.3 章节 中的 速记符 ,速记符 将不会被解析。

    因为速记符的存在,一个文件在文件系统中的 绝对路径 可以有很多个。

    3.3 getCanonicalPath

    速记符 不被解析有时候是很痛苦的事,我们可能需要知道具体的路径。getCanonicalPath() 方法解决了这个问题。

    File file = new File("./app.yml");

    # canonicalPath = /Users/dax/IdeaProjects/foo/app.yml

    System.out.println("canonicalPath = " + file.getCanonicalPath());

    由于getCanonicalPath()读取的是文件系统,因此会降低性能。如果我们确定没有使用速记符,并且驱动器号大小写已标准化(如果使用Windows OS),我们应该首选使用getAbsoultePath(),除非你的项目中必须使用 getCanonicalPath()。

    规范路径(不包含速记符)对于一个固定位置的文件来说是唯一的。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • java获取文件的路径问题 在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。 本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有”/“和...
  • java.io.File类提供了以下获取文件路径的方法。getPath() - 此方法返回表示用于创建关联File对象的路径的字符串。getAbsolutePath() - 如果路径字符串是相对的,则在解析当前目录后返回路径字符串,从而产生一个完全...
  • 先看看我设置的文件目录结构,如下图所示: ___Java Build Path的设置如下图所示, 主要看build project之后的文件输出目录: ___在Java中有两种方式可以获取文件的路径,通过下面的测试代码看看它们的不同:12345...
  • 由于经常需要获取文件的路径,但是比较容易忘记,每次需要总需要查询,现在把这些方式写下来,方便自己的时候也方便大家了,如果大家在下面的方法遇到什么问题,可以留言。各种获取方式如示例代码所示:packagefirst...
  • java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有”/“和没有""的问题,以及...
  • 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程绝对路径。 1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名...
  • JAVA获取文件,听似简单,但对于很多像我这样新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用,就是用JAVAFile类,如要取得c:/test.txt文件,就会这样用Filefile=newFile("c:/test.txt");这样用有...
  • package test1;...import java.io.File; public class TakeFilePathAndName { public static void main(String[] args) { // This is the path where the file's name you want to take.
  • 主要介绍了JAVA获取文件绝对路径的方法,涉及针对文件路径的操作技巧,需要朋友可以参考下
  • 本文实例讲述了JAVA获取文件绝对路径的方法。分享给大家供大家参考。具体实现方法如下:/*** 获取一个类class文件所在绝对路径。 这个类可以是JDK自身类,也可以是用户自定义类,或者是第三方开发包里类。...
  • java获取java文件路径的四种方法发布时间:2020-04-17 11:03:45来源:亿速云阅读:750作者:小新今天小编给大家分享的是java获取java文件...java获取java文件的路径怎么写?1、java代码获取文件当前路径//利用Syst...
  • 方法一:Thread.currentThread().getContextClassLoader().getResource(""),获取文件所在路径,如String initPath=Thread.currentThread().getContextClassLoader().getResource("").toString();initPath=initPath....
  • java获取java文件的路径怎么写?1、java代码获取文件当前路径推荐教程:《java学习》//利用System.getProperty()函数获取当前路径System.out.println(System.setProperty("user.dir", "c:users"));System.out....
  • Java如何获取文件路径?ClassPath的绝对URI路径,工程的路径。1、实例说明(1)java得到 ClassPath的绝对URI路径:Thread.currentThread().getContextClassLoader().getResource(“.”).getPath();(2)java得到 ...
  • 1. java获取某个文件夹的路径怎么写File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File...
  • 1. 前言Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。2. 文件的路径文件的路径通常有 相对路径 与 绝对路径。2.1 相对路径以当前文件为基准...
  • 我们在上传文件和文件处理的时候需要获取资源文件的路径。但是在项目中获取的文件路径,可能并不是我们想要的文件路径,因为开发项目中获取的路径与打成jar包后的路径并不一致。以一个SpingCloud项目为例,且有多个...
  • 问题详情java 如何获取一个文件的绝对路径。。。例如InputStream inStream=new FileInputStream("a/b.txt");怎么能得到a/b.txt的绝对路径,b.txt在我的workspace下。作者: hongseyouyang发布时间: ...
  • 关于绝对路径和相对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对...
  • spring 获取项目绝对路径request.getServletContext().getRealPath("/");request.getSession().getServletContext().getRealPath("/")struts 获取项目绝对路径ServletActionContext....获取当前类绝对路径...
  • 方法java.io.File.getAbsoluteFile()用于获取具有目录或文件绝对路径的File对象。此方法不需要任何参数。演示此程序如下所示-示例importjava.io.File;publicclassDemo{publicstaticvoidmain(String[]args){File...
  • 详细内容java获取java文件的路径怎么写?1、java代码获取文件当前路径推荐教程:《java学习》//利用System.getProperty()函数获取当前路径System.out.println(System.setProperty("user.dir", "c:users"));System....
  • 为了详细说明要介绍的几种方法,本例准备了两个工程:①Java工程: ② web工程: tomcat路径:D:\tomcat\Ⅰ、Thread.currentThread().getContextClassLoader().getResource...(1)name="", 获取编译文件.class的路径...
  • 1. 前言Java 开发中我们经常要获取文件的路径,比如读取配置文件等等。今天我们就关于文件的路径和如何读取文件简单地探讨一下。2. 文件的路径文件的路径通常有 相对路径 与 绝对路径。2.1 相对路径以当前文件为基准...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,553
精华内容 2,621
关键字:

java获取文件的路径

java 订阅