1. 程式人生 > >Java 檔案路勁獲取(流的方式),適用與jar包或war包執行方式

Java 檔案路勁獲取(流的方式),適用與jar包或war包執行方式

讀取檔案使用流的方式在基本的場合都不會發生錯誤!

以下是讀取檔案的幾種方式:

    public static void main(String[] args) {
        //獲取classpath路徑,就是根目錄  /D:/Program/idea/DayIndicators/target/classes/
        System.out.println(IndexAction.class.getResource("/").getPath());
        //得到的是IndexAction 類所在的包路徑
        System.out.println(IndexAction.class
.getResource("").getPath()); //會報錯,已經在根目錄 System.out.println(IndexAction.class.getClassLoader().getResource("/").getPath()); //獲取classpath路徑,就是根目錄 /D:/Program/idea/DayIndicators/target/classes/ System.out.println(IndexAction.class.getClassLoader().getResource("").getPath()); //一般來說已url方式獲取檔案在不同過的場合會有不同的路徑,很容易報錯 //推薦使用流的方式來獲取檔案 //“” 中填寫根目錄下的檔名 ,返回的是流的形式 InputStream IndexAction.class
.getClassLoader().getResourceAsStream(""); // 獲取根目錄下的text.txt 檔案的流 (推薦) IndexAction.class.getResourceAsStream("/text.txt"); }

若已url形式來獲取檔案,在打成jar包後路徑會發生錯誤!

相關推薦

Java 檔案獲取方式適用jarwar執行方式

讀取檔案使用流的方式在基本的場合都不會發生錯誤! 以下是讀取檔案的幾種方式: public static void main(String[] args) { //獲取cla

js/jquery 獲取本地檔案檔案 獲取input框中type=‘file’ 中的檔案路徑

分為兩部分,自己去判斷瀏覽器的型別,然後呼叫不同函式,一定要引入jQuery,上面是我的Jquery的路徑 在IE低版本中可以直接獲得檔案路徑,不過在高版本和firefox和chrome中是不允許的。那是個漏洞 這樣就能實現不用上傳就可以實現圖片的實時預覽了 1.

js/jquery 獲取本地檔案檔案 獲取input框中type=‘file’ 中的檔案路徑

分為兩部分,自己去判斷瀏覽器的型別,然後呼叫不同函式,一定要引入jQuery,上面是我的Jquery的路徑 在IE低版本中可以直接獲得檔案路徑,不過在高版本和firefox和chrome中是不允許的。那是個漏洞 這樣就能實現不用上傳就可以實現圖片的實時預覽了 1.IE核心

UML類圖Class Diagram中類類之間的關係及表示方式

類之間大體分為5種關係:1,依賴關係(Dependency)單向,表示一個類依賴於另一個類的定義,其中一個類的變化將影響另外一個類,是一種“use a”關係如果A依賴於B,則B表現為A的區域性變數,方法引數,靜態方法呼叫等public class Person { publ

Java常見的面試問題帶答案自己答出來多少?

反射api 編譯期 local source double 可能 提示 ext res 前言:覺得對自己有幫助別忘了也給其他小夥伴一起分享哦! 問題:如果main方法被聲明為private會怎樣? 答案:能正常編譯,但運行的時候會提示”main方法不是public的”。 2

SpringBoot打jarwar獲取不到資原始檔解決辦法

問題描述 在開發過程中我們經常會碰到要在程式碼中獲取資原始檔的情況,而我在最近將原有的Tomcat的原生專案遷移到SpringBoot專案中時碰到一個問題,就是在本地執行時,獲取本地的xml資原始檔是能夠獲取到的,但是專案打成war包然後將其部署到Tomcat中執行時,就會發生問題,報找不到資原始檔的錯誤。

如何快速反編譯JAVAjarwar

原創文章,轉載請註明。         有些時候我們面對一個class檔案jar包或者war包,很想知道里面有什麼引數,有什麼方法,但是又沒有文件,又沒有原始碼,那怎麼辦呢。         沒關係,我們可以反編譯這些class檔案或jar包或war包。我們用到下面這個工

Java:合併序列

SequenceInputStream類可以將多個輸入流按順序連線起來。SequenceInputStream的構造方法是使用一對輸入流或者一個輸入流的列舉(內含多個輸入流)作為引數。 //將輸入流s1和s2合併 SequenceInputStream(InputStrea

Java燒腦驢遊十四--(Stream)、檔案(File)和IO

Java.io包幾乎包含了所有操作輸入、輸出需要的類。所有這些流類代表了輸入源和輸出目標。 Java.io包中的流支援很多種格式,比如:基本型別、物件、本地化字符集等等。 一個流可以理解為一個數據的序列。輸入流表示從一個源讀取資料,輸出流表示向一個目標寫資料

FFmpeg總結十二用ffmpegnginx實現直播多並發播放

xxx 開源 conf ref itl rect arc med rtm 圖:撒哈拉沙漠 下載 nginx 和 nginx-rtmp源碼: http://nginx.org/download/nginx-1.5.10.tar.gz https://github.com/a

Java成神之技術整理長期更新

重復註解 java多線程 加載機制 rom 倒計時器 dad 免費 dcm servle 以下是Java技術棧微信公眾號發布的關於 Java 的技術幹貨,從以下幾個方面匯總。 Java 基礎篇 Java 集合篇 Java 多線程篇 Java JVM篇 Java 進階篇 J

Java工程師成神之-基礎篇》Java基礎知識——序列化已完結

本文是《成神之路系列文章》中的一篇,主要是關於Java中序列化的一些介紹。 持續更新中 Java物件的序列化與反序列化 深入分析Java的序列化與反序列化 單例與序列化的那些事兒 Google Protocol Buffer 的使用和原理 拓展內容 關於 Java

Java中不定項引數可變引數的作用和使用方式

引言:   我們在編寫方法的過程中,可能會遇見一個方法有不確定引數個數的情況。一般我們會用方法過載來解決問題: //方法過載,解決引數個數不確定問題 public void method(); public void method(int i); public void method(int

Java通過瀏覽器請求頭User-Agent獲取 瀏覽器型別作業系統型別手機機型

一:獲得瀏覽器請求頭中的User-Agent   ? 1 String ua = request.getHeader("User-Agent") 二:獲得瀏覽器型別,作業系統型別:(注意,UserAgent類在U

java基礎類庫學習六.5輸入輸出體系

前言 輸入輸出流的4個抽象基類InputStream/OutputStream  Reader/Writer 4個訪問檔案的節點流:FileInputStream/FileReader  FileOutputStream/FileWriter 處理流的用法:

java基礎類庫學習六.3位元組 字元輸入輸出

前言: 位元組流和字元流的操作方式幾乎相同,區別只是操作的資料單元不同而已 位元組流操作的資料單元是位元組8位,字元流操作的資料單元是字元16位 輸入流 字元輸入流/位元組輸入流原始碼(輸入流的抽象基類) InputStream public abstract class

java基礎類庫學習六.2輸入輸出 I/O

前言 java的IO通過java.io包下的類和介面來支援,包括輸入輸出兩種流,每種流又分為位元組流和字元流, 輸入輸出流:位元組流和字元流 位元組流:以位元組為單位處理輸入輸出 字元流:以字元來處理輸入輸出 java7對原有io進行升級,提供了一系列全新的API放在NIO中

Java:記憶體操作

Java提供了記憶體流機制,可以實現類似於記憶體虛擬檔案的功能。 這樣,我們既可以從記憶體中獲取資料,也向記憶體中寫入資料,也就是說,可以將記憶體作為資料的來源和目的地。記憶體操作流就是實現向記憶體中讀取和寫入資料的流類。 記憶體操作流一共也分為兩組: (1)位元

java檔案class檔案dex檔案的轉化。詳細教程

筆者這兩天整理的關於安卓逆向的一些小知識:教你如何在這三種檔案中來去自如: .java檔案 Java原始檔 .class檔案 Java位元組碼檔案,是一種能夠被Java虛擬機器(JVM:Java Virtual Machine)識別,載入並且執行的檔案格式。 .

Spring MultipartFile 上傳檔案檔案getInputStream無法獲取輸入問題

MultipartFile file; file能獲取表單上傳檔案基本資訊(檔名和字尾名) InputStream input = file.getInputStream(); 但無法獲取Stream,原因為Spring配置問題 <bean id="multipar