欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java如何獲取相對(duì)路徑文件

 更新時(shí)間:2023年06月15日 10:39:01   作者:藍(lán)天⊙白云  
這篇文章主要介紹了Java如何獲取相對(duì)路徑文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java獲取相對(duì)路徑文件

1. 文件在src下

class.getResourceAsStream(“”)獲得的是相對(duì)路徑
class.getClassLoader().getResourceAsStream(“”)加載器獲得是絕對(duì)路徑

Class.getResourceAsStream(String path)

  • (1)不以 “/” 開(kāi)頭時(shí),默認(rèn)是從此類(lèi)所在的包下取資源。
  • (2)以**“/”**開(kāi)頭,則是從ClassPath(Src根目錄)根下獲取。

Class.getClassLoader.getResourceAsStream(String path)

  • 默認(rèn)則是從ClassPath根下獲取,path不能以’/'開(kāi)頭。

2. 文件在src同級(jí)目錄下

InputStream in = new BufferedInputStream(new FileInputStream("./test/aaa.txt"));

1.FileTest.class.getResource("")

得到的是當(dāng)前類(lèi)FileTest.class文件的URI目錄。不包括自己!

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/com/test/

2.FileTest.class.getResource("/")

得到的是當(dāng)前的classpath的絕對(duì)URI路徑。

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

3.Thread.currentThread().getContextClassLoader().getResource("")

得到的也是當(dāng)前ClassPath的絕對(duì)URI路徑。

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

4.FileTest.class.getClassLoader().getResource("")

得到的也是當(dāng)前ClassPath的絕對(duì)URI路徑。

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

5.ClassLoader.getSystemResource("")

得到的也是當(dāng)前ClassPath的絕對(duì)URI路徑。

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

我推薦使用Thread.currentThread().getContextClassLoader().getResource("")來(lái)得到當(dāng)前的classpath的絕對(duì)路徑的URI表示法。

Java獲取文件大?。ㄎ募⒙窂剑?/h2>

文件大?。窂剑?/h3>
/**
     * 文件大小--路徑
     *
     * @return
     */
    public static long getFileLength(String downloadUrl) {
        if(downloadUrl == null || "".equals(downloadUrl)){
            return 0L ;
        }
        URL url = null;
        try {
            url = new URL(downloadUrl);
        } catch (MalformedURLException e) {
            e.printStackTrace();
            return 0L;
        }
        HttpURLConnection conn = null;
        try {
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("HEAD");
            conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows 7; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 YNoteCef/5.8.0.1 (Windows)");
            return (long) conn.getContentLength();
        } catch (IOException e) {
            return 0L;
        } finally {
            conn.disconnect();
        }
    }

文件大?。ㄎ募?/h3>
/**
     * 文件大小--文件
     *
     * @return
     */
    public static int getFileSize(File file) {
        int fileSize = 0;
        FileInputStream fis = null;
        try {
            if (file.exists() && file.isFile()) {
                String fileName = file.getName();
                fis = new FileInputStream(file);
                fileSize = fis.available();
                System.out.println("文件" + fileName + "的大小是:" + fis.available() + "\n");
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (null != fis) {
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return fileSize;
    }

測(cè)試下

public static void main(String[] args) {
       File file = new File("C:\\Users\\xuzh\\Desktop\\6f3c0052d684451a92e7fb5b55eda9fd.jpg");
        getFileSize(file);
    }

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot的@GetMapping路徑匹配規(guī)則、國(guó)際化詳細(xì)教程

    SpringBoot的@GetMapping路徑匹配規(guī)則、國(guó)際化詳細(xì)教程

    這篇文章主要介紹了SpringBoot的@GetMapping路徑匹配規(guī)則、國(guó)際化,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • java基礎(chǔ)--自己動(dòng)手實(shí)現(xiàn)一個(gè)LRU

    java基礎(chǔ)--自己動(dòng)手實(shí)現(xiàn)一個(gè)LRU

    這篇文章主要介紹了運(yùn)用方案如何實(shí)現(xiàn)LUR,文章中通過(guò)代碼講解的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)有一定的參考價(jià)值,感興趣的朋友可以參考一下
    2021-08-08
  • Java Buffer緩沖區(qū)(NIO)

    Java Buffer緩沖區(qū)(NIO)

    Java NIO(New IO)是從Java 1.4版本開(kāi)始引入的一個(gè)新的IO API,可以替代標(biāo)準(zhǔn)的Java IO API。本系列教程將有助于你學(xué)習(xí)和理解Java NIO。
    2021-09-09
  • Java二維數(shù)組與動(dòng)態(tài)數(shù)組ArrayList類(lèi)詳解

    Java二維數(shù)組與動(dòng)態(tài)數(shù)組ArrayList類(lèi)詳解

    這篇文章主要給大家介紹了關(guān)于Java二維數(shù)組與動(dòng)態(tài)數(shù)組ArrayList類(lèi)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 用攔截器修改返回response,對(duì)特定的返回進(jìn)行修改操作

    用攔截器修改返回response,對(duì)特定的返回進(jìn)行修改操作

    這篇文章主要介紹了用攔截器修改返回response,對(duì)特定的返回進(jìn)行修改操作。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • java web服務(wù)器實(shí)現(xiàn)跨域訪(fǎng)問(wèn)

    java web服務(wù)器實(shí)現(xiàn)跨域訪(fǎng)問(wèn)

    這篇文章主要為大家詳細(xì)介紹了java web服務(wù)器實(shí)現(xiàn)跨域訪(fǎng)問(wèn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java中關(guān)于優(yōu)先隊(duì)列PriorityQueue的使用及相關(guān)方法

    Java中關(guān)于優(yōu)先隊(duì)列PriorityQueue的使用及相關(guān)方法

    這篇文章主要介紹了Java中關(guān)于優(yōu)先隊(duì)列PriorityQueue的使用及相關(guān)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Spring Boot 自定義starter的示例代碼

    Spring Boot 自定義starter的示例代碼

    這篇文章主要介紹了Spring Boot 自定義starter的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Idea 自動(dòng)生成測(cè)試的實(shí)現(xiàn)步驟

    Idea 自動(dòng)生成測(cè)試的實(shí)現(xiàn)步驟

    當(dāng)我們?cè)趯?xiě)完一些接口方法后需要測(cè)試時(shí),一個(gè)一個(gè)新建測(cè)試類(lèi)比較麻煩 idea給我們提供了快捷辦法,本文主要介紹了Idea 自動(dòng)生成測(cè)試的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • idea一招搞定同步所有配置(導(dǎo)入或?qū)С鏊信渲?

    idea一招搞定同步所有配置(導(dǎo)入或?qū)С鏊信渲?

    使用intellij idea很長(zhǎng)一段時(shí)間,軟件相關(guān)的配置也都按照自己習(xí)慣的設(shè)置好,如果需要重裝軟件,還得需要重新設(shè)置,本文就詳細(xì)的介紹了idea 同步所有配置,感興趣的可以了解一下
    2021-07-07

最新評(píng)論