最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Spring boot操作文件的多種方式

 更新時(shí)間:2021年11月01日 16:35:43   作者:swimcode  
這篇文章主要介紹了Spring boot操作文件的幾種方式,主要給大家介紹操作文件的三種方式,每種方式通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、獲取文件路徑

獲取文件路徑

1、class.getResource(path)

其中的參數(shù)path有兩種形式,一種是以“/”開頭的,另一種是不以"/"開頭;

  • 「以'/'開頭的表示」:從項(xiàng)目的根路徑下去獲取文件即classPath目錄下。
  • 不以"/"開頭:以該類對(duì)象所在位置**為根路徑來(lái)進(jìn)行查找的。
// 1.獲取當(dāng)前文件所在的路徑
System.out.println(this.getClass().getResource("").getPath());
// 2.獲取再 target 下 classpath 路徑
System.out.println(this.getClass().getResource("/").getPath());

img

class.getResource()和class.getResourceAsStream()方式的使用在路徑上是一致的。

2、ClassLoader.getResource(path)

// 3.也是獲取 classpath 的絕對(duì)路徑
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath());
// 4.也是獲取 classpath 的絕對(duì)路徑
System.out.println(this.getClass().getClassLoader().getResource("").getPath());
// 5.也是獲取 classpath 的絕對(duì)路徑
System.out.println(ClassLoader.getSystemResource("").getPath());

img

3、項(xiàng)目路徑

//6.獲取當(dāng)前項(xiàng)目路徑(此方法與 7 效果相同,但是可以將路徑轉(zhuǎn)為標(biāo)準(zhǔn)形式,會(huì)處理"."和"..")
System.out.println(new File("").getCanonicalPath());
// 7.獲取項(xiàng)目絕對(duì)路徑(不會(huì)處理"."和"..")
System.out.println(new File("").getAbsolutePath());
//8.user.dir
System.out.println(System.getProperty("user.dir"));

img

二、操作文件的三種方式

1、ClassPath

讀取resources下配置文件【文件只能為Properties、xml、JSON】

//讀取 ClassPath 下的文件信息
//1、類加載器
InputStream resourceAsStream = DaoFactory.class.getClassLoader().getResourceAsStream("data.properties");
//2、當(dāng)前線程加載器
lassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = classLoader.getResourceAsStream(path);

2、FileSystem

指定文件路徑的方式讀取文件信息,讀取resources下static文件夾中的文件

String path = Thread.currentThread().getContextClassLoader().getResource("static/internal.csv").getPath();
File file = new File(path);

3、UrlResource

通過(guò) HTTP 的方式讀取云服務(wù)的文件,我們也可以把配置文件放到 GitHub 或者 Gitee 上。

URLConnection con = this.url.openConnection();
InputStream inputStream = con.getInputStream();
String content = IoUtil.readUtf8(inputStream);
System.out.println(content);

到此這篇關(guān)于Spring  boot操作文件的幾種方式的文章就介紹到這了,更多相關(guān)Spring boot操作文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot如何實(shí)現(xiàn)定時(shí)任務(wù)示例詳解

    SpringBoot如何實(shí)現(xiàn)定時(shí)任務(wù)示例詳解

    使用定時(shí)任務(wù)完成一些業(yè)務(wù)邏輯,比如天氣接口的數(shù)據(jù)獲取,定時(shí)發(fā)送短信,郵件。以及商城中每天用戶的限額,定時(shí)自動(dòng)收貨等等,這篇文章主要給大家介紹了關(guān)于SpringBoot如何實(shí)現(xiàn)定時(shí)任務(wù)的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 詳解Mybatis注解寫法(附10余個(gè)常用例子)

    詳解Mybatis注解寫法(附10余個(gè)常用例子)

    這篇文章主要介紹了詳解Mybatis注解寫法(附10余個(gè)常用例子),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • MyBatis-Plus 集成動(dòng)態(tài)多數(shù)據(jù)源的實(shí)現(xiàn)示例

    MyBatis-Plus 集成動(dòng)態(tài)多數(shù)據(jù)源的實(shí)現(xiàn)示例

    本文主要介紹了MyBatis-Plus 集成動(dòng)態(tài)多數(shù)據(jù)源的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Java排序算法之冒泡排序的原理及優(yōu)化

    Java排序算法之冒泡排序的原理及優(yōu)化

    這篇文章主要介紹了Java排序算法之冒泡排序的原理及優(yōu)化,冒泡排序的思想很簡(jiǎn)單,遍歷數(shù)組,比較相鄰的兩個(gè)元素,順序錯(cuò)誤就把它們交換,直到整個(gè)數(shù)組排序完成,因?yàn)槊拷?jīng)過(guò)一趟排序,越小的元素會(huì)經(jīng)交換而慢慢“浮”到數(shù)列的頂端,因此叫做冒泡排序,需要的朋友可以參考下
    2023-11-11
  • 深入了解Java方法的重載與重寫

    深入了解Java方法的重載與重寫

    在最初學(xué)習(xí)java的時(shí)候,人們都知道,java這種面向?qū)ο蟮恼Z(yǔ)言,一共有三大特征,分別是:封裝、繼承、多態(tài)。多態(tài)的實(shí)現(xiàn)途徑有三種:重寫、重載、接口實(shí)現(xiàn)。本文就來(lái)為大家詳細(xì)講講Java方法的重載與重寫
    2022-07-07
  • springboot讀取resource配置文件生成容器對(duì)象的示例代碼

    springboot讀取resource配置文件生成容器對(duì)象的示例代碼

    這篇文章主要介紹了springboot讀取resource配置文件生成容器對(duì)象的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • springboot+dynamicDataSource動(dòng)態(tài)添加切換數(shù)據(jù)源方式

    springboot+dynamicDataSource動(dòng)態(tài)添加切換數(shù)據(jù)源方式

    這篇文章主要介紹了springboot+dynamicDataSource動(dòng)態(tài)添加切換數(shù)據(jù)源方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Mybatis傳遞多個(gè)參數(shù)進(jìn)行SQL查詢的用法

    Mybatis傳遞多個(gè)參數(shù)進(jìn)行SQL查詢的用法

    本文給大家介紹Mybatis傳遞多個(gè)參數(shù)進(jìn)行SQL查詢的用法的相關(guān)知識(shí),本文還給大家介紹了mybatis通過(guò)Map傳遞多個(gè)參數(shù)和JavaBean傳遞多個(gè)參數(shù),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • Java編程中利用InetAddress類確定特殊IP地址的方法

    Java編程中利用InetAddress類確定特殊IP地址的方法

    這篇文章主要介紹了Java編程中利用InetAddress類確定特殊IP地址的方法,InetAddress類是Java網(wǎng)絡(luò)編程中一個(gè)相當(dāng)實(shí)用的類,需要的朋友可以參考下
    2015-11-11
  • 詳解Java適配器模式

    詳解Java適配器模式

    這篇文章主要介紹了Java適配器模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

涡阳县| 铁岭市| 盘锦市| 花莲市| 桑植县| 卫辉市| 安康市| 扎赉特旗| 庆安县| 清新县| 阿荣旗| 竹山县| 潮安县| 新竹市| 乃东县| 嘉禾县| 琼结县| 新和县| 西吉县| 长海县| 奇台县| 嘉峪关市| 虹口区| 清镇市| 通海县| 独山县| 息烽县| 珠海市| 荔浦县| 连南| 太保市| 彭山县| 瓮安县| 调兵山市| 鸡西市| 调兵山市| 海淀区| 徐水县| 临颍县| 台州市| 寻甸|