精华内容
下载资源
问答
  • java中怎么获得,本文件路径
    千次阅读
    2021-02-12 22:55:07

    展开全部

    File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以

    通过File类的实例调62616964757a686964616fe78988e69d8331333337393562用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。下面是一个具体例子:

    public class PathTest

    {

    public static void main(String[] args)

    {

    File file = new File(".\\src\\baidu");

    System.out.println(file.getAbsolutePath());

    try

    {

    System.out.println(file.getCanonicalPath());

    } catch (IOException e)

    {

    e.printStackTrace();

    }

    }

    }

    getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的

    路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中.(点号)代表当前目录。

    getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号)。

    下面是上面程序在我电脑上的输出:

    G:\xhuoj\konw\.\src\baidu

    G:\xhuoj\konw\src\baidu

    更多相关内容
  • Java 开发中我们经常要获取文件路径,比如读取配置文件等等。今天我们就关于文件路径和如何读取文件简单地探讨一下。 2. 文件路径 文件路径通常有 相对路径 与 绝对路径。 2.1 相对路径 以当前文件为基准...
  • 主要介绍了Java获取文件路径及常见问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 今天小编就为大家分享一篇完美解决Java获取文件路径出现乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • java获取百度网盘真实下载路径,包括有提取码的和没有提取码的两种,在文件夹download中的GetBaiduCloudRealUrl是不需要提取码的这种,BaiduYunDownload是需要带提取码的
  • 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()。

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

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

    展开全文
  • !... 1. 第一张图片前端from表单上传文件 2.第二张controller层接收文件 3.控制台输出后,得到的...**如何通过此文件名称得到这个文件:order.xls 在磁盘的绝对路径** 我想得到的路径是:D:/person/out/add/order.xls
  • JAVA获取工程内文件

    千次阅读 2021-04-23 06:29:45
    1.获取maven工程下src/main/resources下的文件,如下图所示场景: 代码:/*** 获取src/main/resources下文件** @throws Exception*/public void t1() throws Exception{//这里是使用类加载器来获取文件路径,类加载...

    1.获取maven工程下src/main/resources下的文件,如下图所示

    场景:

    96e1f0073487c42baedbea53e8ff11df.png

    代码:

    /**

    * 获取src/main/resources下文件

    *

    * @throws Exception

    */

    public void t1() throws Exception{

    //这里是使用类加载器来获取的文件路径,类加载器会从target/classes下寻找参数中给定的文件

    String path = Test.class.getClassLoader().getResource("config/test/AA.txt").getPath();

    System.out.println("文件的磁盘路径为:"+path);

    //打印出文件内容

    File file = new File(path);

    PrintFileContext(file);

    }

    /**

    * 将文件内容打印出来

    *

    * @param file

    * @throws Exception

    */

    public static void PrintFileContext(File file) throws Exception{

    InputStream in = new FileInputStream(file);

    InputStreamReader isr = new InputStreamReader(in);

    BufferedReader br = new BufferedReader(isr);

    String line = "";

    while(true){

    line = br.readLine();

    if (line == null) {

    break;

    }

    System.out.println(line);

    }

    br.close();

    }

    测试:

    f85a4951a26d5ac96d20381ccc9491a8.png

    2.获取包内文件

    场景:

    23699c5d68e0dc3c5558a577eaa2836b.png

    代码:

    /**

    * 获取包内文件

    *

    * @throws Exception

    */

    public void t2() throws Exception{

    //这种方式默认会从指定类所在的位置查找参数中给定的文件,但是如果加了/ 他也会从target/classes下寻找文件

    String path = Test.class.getResource("/app/test/BB.txt").getPath();

    System.out.println("文件的磁盘路径为:"+path);

    //打印出文件内容

    File file = new File(path);

    PrintFileContext(file);

    }

    测试:

    59b1402ce0d753b599b3588ddec015b3.png

    3.获取webapp下的文件

    场景:

    a7a398819275a28edcdbffbfbf4bb949.png

    代码:

    /**

    * 获取webapp下的文件内容

    *

    * @throws Exception

    */

    public void t3() throws Exception{

    //获取工程所在的根目录

    String path = System.getProperty("user.dir");

    System.out.println(path);

    //将路径中的\转为/,因为\是JAVA的转义字符直接使用会报错

    path = path.replaceAll("\\\\", "/");

    System.out.println(path);

    //获取webapp下我想获取的那个文件

    String filePath = path+"/src/main/webapp/resource/CC.txt";

    System.out.println(filePath);

    //打印出文件内容

    File file = new File(filePath);

    PrintFileContext(file);

    }

    测试:

    bacaf027272ace62f90e7c3cf9fb07c4.png

    4.总结

    类加载器获取文件路径:class.getClassLoader().getResource(" xx ").getPath();

    类获取文件路径:class.getResource(" /xx ").getPath();

    获取工程根目录:System.getProperty("user.dir");

    展开全文
  • 我们在做java开发(纯java程序,或者java web开发)时,经常会遇到需要读取配置文件的需求,如果我们将文件所在位置的信息直接写到程序中,例如:e:\workspace\javagui\bin\com\util这个目录,这样虽然可行,但是,却...

    我们在做java开发(纯java程序,或者java web开发)时,经常会遇到需要读取配置文件的需求,如果我们将文件所在位置的信息直接写到程序中,例如:e:\workspace\javagui\bin\com\util这个目录,这样虽然可行,但是,却产生了很大的局限性,因为读取的文件必须要要满足在e:\workspace\javagui\bin\com\util之下才能够被正常读取,否则java抛异常。那如果在没有e盘盘符的服务器上,这样的程序是没办法执行的。所以就需要我们的程序能够读取当前文件的所在位置,从而确定文件的物理磁盘位置,而不是手动写入这个位置。

    以下程序,就实现了这个功能

    /**

    * 得到类的路径,例如e:\workspace\javagui\bin\com\util

    * @return

    * @throws java.lang.exception

    */

    public string getclasspath() throws exception {

    try {

    string strclassname = getclass().getname();

    string strpackagename = "";

    if (getclass().getpackage() != null) {

    strpackagename = getclass().getpackage().getname();

    }

    string strclassfilename = "";

    if (!"".equals(strpackagename)) {

    strclassfilename = strclassname.substring(strpackagename.length() + 1,

    strclassname.length());

    } else {

    strclassfilename = strclassname;

    }

    url url = null;

    url = getclass().getresource(strclassfilename + ".class");

    string strurl = url.tostring();

    strurl = strurl.substring(strurl.indexof(‘/‘) + 1, strurl

    .lastindexof(‘/‘));

    //返回当前类的路径,并且处理路径中的空格,因为在路径中出现的空格如果不处理的话,

    //在访问时就会从空格处断开,那么也就取不到完整的信息了,这个问题在web开发中尤其要注意

    return strurl.replaceall("%20", " ");

    } catch (exception ex) {

    ex.printstacktrace();

    throw ex;

    }

    }

    展开全文
  • 本篇文章给大家带来的内容是关于java如何读取本地磁盘目录下的所有文件或者文件夹,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。public class FileTest { public static void main(String[] ...
  • java项目下资源文件路径获取

    万次阅读 2018-02-07 14:49:54
    获取resources下相关配置文件 获取流:this.getClass().getResourceAsStream(“/other/mrmy.properties”),返回值:InputStream 获取URL:this.getClass().getResource(“/other/dom.xml”).getPath(), 返回值:...
  • public static String getWebRootPath(Class<?> clazz) { String webClassesPath = clazz.getProtectionDomain().getCodeSource().getLocation().getPath(); if (webClassesPath.indexOf("WEB-INF") >...
  • 主要实现的是登录服务器操作服务器的中的文件数据,支持读写的操作。主要使用的方法getProperties是设置配置的login(参数一是访问服务器的配置,参数二是设置读还是写)方法是读写连接服务器
  • JAVA获取当前项目和文件所在路径

    万次阅读 2020-07-16 14:35:00
    //当前项目下路径 File file = new File(""); String filePath = file.getCanonicalPath(); System.out.println(filePath); //当前项目下xml文件夹 File file1 = new File(""); String filePath1 = file1....
  • java本地文件路径怎么写

    千次阅读 2021-02-12 19:28:28
    1. java文件路径怎么写File file = new File("D:\\123.txt");你这种不用绝对路径是不行的,只有一个方法,在web工程启动servlet中获取到webroot路径,在servlet的init中使用String webRoot = getServletContext()....
  • Java获取WEB目录路径

    千次阅读 2021-03-04 03:32:42
    转载的,方便自己复制粘贴Java取得web工程目录-http://www.javaweb.cc1.可以在servlet的...这将获取web项目的全路径例如 :E:\eclipseM9\workspace\tree\tree是我web项目的根目录2.你也可以随时在任意的class里调用th...
  • 1. 前言Java 开发中我们经常要获取文件路径,比如读取配置文件等等。今天我们就关于文件路径和如何读取文件简单地探讨一下。2. 文件路径文件路径通常有 相对路径 与 绝对路径。2.1 相对路径以当前文件为基准...
  • String path = System.getProperty("user.dir") + "\\json\\fxl.json";
  • Java获取文件夹大小、文件大小,文件个数.doc
  • 我们在读取文件的时候首先要知道的就是弄清楚文件的路径是什么,找到文件路径了才能读取到文件. 现在介绍两种方法在传统工程中获取到文件的路径:第一种:通过JVM(java虚拟机)为准,相对的去找文件的路径. 我们在传统...
  • Java 关于获取webapp路径问题

    万次阅读 2017-09-21 09:28:50
    1.可以在servlet的init方法里 ... 这将获取web项目的全路径 例如 :E:\eclipseM9\workspace\tree\ tree是我web项目的根目录 2.你也可以随时在任意的class里调用 this.getClass().getClassLoader().getResourc
  • JAVA WEB项目中各种路径获取

    千次阅读 2020-12-22 22:18:10
    1.可以在servlet的init方法里String ...这将获取web项目的全路径例如 :E:\eclipseM9\workspace\tree\tree是我web项目的根目录2.你也可以随时在任意的class里调用this.getClass().getClassLoader().getResource("/")...
  • java 读取服务器上文件[2021-02-04 10:02:14]简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。...
  • 首先基于 springboot 实现的,其他场景下可以引入相应的 jar 包后进行整合。 首先写入一个方法,方法的...首先获取上传文件的原始名称: String originName = file.getOriginalFilename(); 接着可以指定只能上传 p
  • 第一步: 先获得classpath路径 String classpath = this.getClass().getResource("/").getPath().replaceFirst("/", ""); 这样子可以得到classpath路径,类似于: F:/projects/JavaStudyParent/study-springmvc-...
  • 我们可以使用matches()方法与正则表达式进行判断。matches() 方法用于检测字符串...(视频教程推荐:java视频)具体代码:public static void main(String[] args) {//String source = "z:\\java\\kl\\$kls\\";Stri...
  • 首先,项目中文件分布情况如下,innerFile.txt位于test.test包下,innerInnerFile.txt位于test.test.inner包下,outterFile.txt位于包的根目录下,那么,在App类里,如何根据相对路径、绝对路径获取innerFile.txt、...
  • java读取本机磁盘及遍历磁盘文件

    千次阅读 2019-08-31 10:59:52
    1. 获取本机所有盘符信息默认获取磁盘空间单位是BT,操作系统是这样算的 1G=1024MB, 1MB=1024KB, 1KB=1024BT以上运行结果如下:其中W盘为网...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,422
精华内容 32,568
关键字:

java获取磁盘内文件路径

java 订阅