国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java讀取Jar包里的文件

hsluoyz / 2683人閱讀

摘要:本地跑沒有一點問題,一打成包,發到服務器上,就在下面的語句報錯提示找不到文件。而對于包里的文件,則已經是文件的內部了,就已經無能為力了。

Java的IO操作,一年也用不到一次,且每次用到都會有一堆問題。

就Java路徑,用一次查一次。因為用的少,用完就忘。

這次遇到一個奇葩問題。本來是一個非常簡單的Excel操作,讀取,填充數據。本地跑沒有一點問題,一打成jar包,發到服務器上,就在下面的語句報錯:

this.sourceFileName = this.getClass().getResource("Book1.xls").toURI()
                    .getPath();

提示 找不到文件。
那么我們看看什么是URI:

  

Web上可用的每種資源 -HTML文檔、圖像、視頻片段、程序等 - 由一個通用資源標識符(Uniform Resource
Identifier, 簡稱"URI")進行定位。

且根據規范,URI是這種形式地:協議名稱://域名.根域名/目錄/文件名.后綴
如http://www.baidu.com/xxoo.html
那么我么利用上面的java語句獲得的是什么形式呢?
file://d:xx/xx/aa/bb.txt.
注意到沒,利用這種形式,可以打開如上形式的某個目錄文件下的文件。
而對于jar包里的文件,則已經是文件的內部了,就已經無能為力了。
也就是如果用上面方法,可以打開到.../xx/xx.jar,而沒法到.../xx/xx.jar/xx.txt了。

那對于jar里的文件是不是就沒法打開了?肯定不是:

InputStream inputStream = this.getClass()getResourceAsStream("Book1.xls"));

就這么簡單,jar包里的文件,我們是沒法以file形式讀取的,而只能以InputStram的形式讀取。

推薦幾篇博文吧:
http://mushiqianmeng.blog.51cto.com/3970029/833649
http://www.coderli.com/jar-classloader
http://blog.csdn.net/b_h_l/article/details/7767829

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64073.html

相關文章

  • classpath對獲取配置文件的影響

    摘要:,到現在為止一切都按部就班,執行上面的命令正常運行,讀取里面的文件,并輸出相應的屬性。那么,如果我們想改變配置文件的內容是否需要修改源文件里的然后重新打包成呢顯然這樣做太麻煩也不太合理,你可以在外面配置一個新的讓里的去讀取。 Java中經常要用到各種配置文件xxx.properties來控制程序的運行或進行國際化等但是也常常遇到配置文件放置路徑找不到的問題,這里以java.uitl.R...

    xumenger 評論0 收藏0
  • spring-framework的Resource知識點

    摘要:接口類三個具有代表性的實現類通過的和,我們找到利用去解析路徑配置文件的路徑。上面可能講的有點繞,但卻是入口之一。根據路徑的特性,分別封裝為或對象。另外用包里的做了實驗,發現可以讀到包里的信息。則是包的根地方,如,用于公共配置文件。 接口類:org.springframework.core.io.Resource 三個具有代表性的實現類: org.springframework.we...

    Jonathan Shieber 評論0 收藏0
  • maven打包oracle jdbc驅動

    摘要:背景由于版權問題,中央倉庫缺少的驅動,這個給開發帶來了很多不便利性。本文主要探討的就是第三個問題,怎么把驅動打到包里背景交代完畢,正文開始。是的,如果你只是想在本地打一個包,這種方式簡單方便。 背景 由于版權問題,maven中央倉庫缺少oracle jdbc的驅動,這個給開發帶來了很多不便利性。也出現各種各樣的解決方案,基本就兩種思路: 將oracle驅動安裝到本地倉庫,這個需要大家...

    vvpvvp 評論0 收藏0
  • Java基礎-模塊系統筆記(1)

    摘要:模塊系統的前身是項目。最初,該項目僅僅是為設計實現一個模塊系統。隨著項目的不斷深入,平臺對標準模塊系統的呼求也日益增長,批準該項目升級為平臺的一部分,也能服務于和平臺的需求。自定義的配置,僅包含一組指定的模塊及其所需的模塊。 我的博客 轉載請注明原創出處。 序 從Java 9開始,在Java的世界里多了一個叫模塊(JSR376)的特性。模塊系統的前身是Jigsaw項目。最初,該項目僅...

    learning 評論0 收藏0
  • SSM : 環境搭建

    摘要:這個文件包含對對數據訪問進行封裝的所有類。為等提供的一致的聲明式和編程式事務管理。 SSM 環境搭建 目錄創建 pom.xml SSM 逐層配置 一、目錄 1.1 src/main/java 目錄下的包(以下包要放在項目包下,如:com.imooc.項目名) entity: 存放實體類 web: 存放controller,相當于Struts中的action service: 業務...

    MonoLog 評論0 收藏0

發表評論

0條評論

hsluoyz

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<