建立一個maven web項目,project-name/src/main下面有3個目錄,java、resources、webapp
java中存放java源代碼,package等
resources中存放一些個資源文件,比如properties文件等,編譯好會自動將這里邊的文件復制到target/classes里去
webapp就相當於是我們的web項目的WebContent目錄
下面我們來看一下如何讀取resources里的文件
Properties prop = new Properties(); try { prop.load(this.getClass().getResourceAsStream("/kafka-http.properties")); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
java.lang.Class.getResourceAsStream(String name)這個方法。
關鍵在於后面的路徑的寫法:
"kafka-http.properties" 是去當前這個class文件同一個目錄下找(也即是當前這個java文件同一個目錄下必須有這個properties文件,才能復制到對應的class目錄)
"/kafka-http.properties" 是去整個項目的classes目錄下去找,也即是上面提到過的target/classes
"/kafka-http.properties" 是去整個項目的classes目錄下去找,也即是上面提到過的target/classes
所以如果將屬性文件放到src/main/resources里,那么要用Class.getResourceAsStream("/kafka-http.properties")來讀取。