java配置文件配置路徑
『壹』 java 獲取配置文件路徑
讀取配置文件 , xxx.properties放在webroot/WEB-INF/classes/目錄下
首先將配置文件轉換成InputStream,有兩種方式,原理一樣,都是通過類載入器得到資源:
(1)InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xx.properties");
(2) InputStream inputStream =
this.getClass() .getClassLoader().getResourceAsStream( "xx.properties" );
調用對象的getClass()方法是獲得對象當前的類類型,這部分數據存在方法區中,
而後在類類型上調用 getClassLoader()方法是得到當前類型的類載入器,我們知道在Java中所有的類都是通過載入器載入到虛擬機中的,而且類載入器之間存在父 子關系,就是子知道父,父不知道子,這樣不同的子載入的類型之間是無法訪問的(雖然它們都被放在方法區中),所以在這里通過當前類的載入器來載入資源也就 是保證是和類類型同一個載入器載入的。
最後調用了類載入器的getResourceAsStream()方法來載入資源。
(3) 然後載入配置文件,讀取屬性值
Properties prop = new Properties();
prop.load(input);
String value = prop.getProperty("PropertyName");
input.close();
『貳』 java怎麼設置環境變數path和classpath(java環境變數配置classpath路徑)
怎樣配置java環境變數path和classpath及其作用1、環境變數配置
用滑鼠右擊「我的電腦」-屬性-高級-環境變數
JAVA_HOME:D:ProgramFilesJavajdk1.6.0_12(JDK安裝路徑)
Path:%JAVA_HOME%in;(若已經有Path項,無須另外新建,直接在後面加,但需用;與前面已有的項分隔開)
CLASSPATH:.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;
其中「.」表示當前路徑
測試環境變數是否設置成功:運行-cmd-輸入javac
如果出現如下信息:
用法:javac選項源文件
其中,可能的選項包括:
-g生成所有調試信息
-g:none不生成任何調試信息
-g:{lines,vars,source}只生成某些調試信息
-nowarn不生成任何衫凱毀警告
-verbose輸出有關編譯器正在執行的操作的消息
-deprecation輸出使用已過時的API的源位置
-classpath路徑指定查找用戶類文件孫胡的位置
-cp路徑指定查找用戶類文件的位置
-sourcepath路徑指定查找輸入源文件的位置
-bootclasspath路徑覆蓋引導類文件的位置
-extdirs目錄覆蓋安裝的擴展目錄的位置
-endorseddirs目錄覆蓋簽名的標准路徑的位置
-d目錄指定存放生成的類文件的位置
-encoding編碼指定源文件使用的字元編碼
-source版本提供與指定版本的源兼容性
-target版本生成特定VM版本的類文件
-version版本信息
-help輸出標准選項的提要
-X輸出非標准選項的提要
-J標志直接將標志傳遞給運行時系統
Java環境變數配置成功!
若出現
'javac'不是內部或外部命令,也不是可運行的程序或批處理文件。
說明Java環境變數配置出錯了。
2、path和classpath的作用
運行路徑path變數記錄的是各個程序所在的路徑,系統根據這個變數的值來查找運行程序(各種命令),使得或備在運行的時候不用輸入全路徑名。
類路徑classpath環境變數通常用來記錄當前路徑和java類庫所在的路徑。在類庫中包含java系統所提供的各種軟體包,其中包括各個類和介面等
如果JDK的安裝目錄為D:jdk,應當怎樣設置path和classpath的值
1、首先,在電腦祥虧找到「計算機」;
2、滑鼠右鍵單擊「計算機」圖標,如下圖所示,找到「屬性」;
3、打開「屬性團胡」之後,如下圖所示,找到「高級系統設置」,打開「高級系統設置」;
4、打開「高級系統設置」之後,如下圖所示,找到「環境變謹或神量」;
5、打開「環境變數」之後,如下圖所示,找到「新建」,選擇「新建」;
6、選擇「新建」之後,如下圖所示,在「變數名」處填寫「CLASSPATH」,在「變數值」處,填寫「.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar;」;
7、填寫完成之後,如下圖所示;
8、最後,單擊「確定」,保存CLASSPATH的環境變數配置。
java中如何設置classpath.工具:電腦
步驟:
1、點擊此電腦,然後選擇屬性
2、接下來選擇高級系統設置
3、然後選擇環境變數配置
4、首先點擊用戶環仔悄境變數碧槐下面的新建,然後變數名就是path,然後變數值就是jdk的bin目錄所在的位置
5、接著是JAVA_HOME,還是點擊添加,用戶名就是JAVA_HOME,然後變數值就是JDK的安裝位置
6、CLASSPATH為java載入類(classorlib)路徑,只有類在classpath中,java命令才能識別,設為念慧渣:
.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar(要加.表示當前路徑)
『叄』 java 中配置文件路徑讀取使用FileReader和InputStream區別和用法
一、按數據來源(去向)分類:
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、網路數據流:InputStream, OutputStream, Reader, Writer
二、按是否格式化輸出分:
1、要格式化輸出:PrintStream, PrintWriter
三、按是否要緩沖分:
1、要緩沖:BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter
四、按數據格式分:
1、二進制格式(只要不能確定是純文本的): InputStream, OutputStream及其所有帶Stream結束的子類
2、純文本格式(含純英文與漢字或其他編碼方式);Reader, Writer及其所有帶Reader, Writer的子類
五、按輸入輸出分:
1、輸入:Reader, InputStream類型的子類
2、輸出:Writer, OutputStream類型的子類
六、特殊需要:
1、從Stream到Reader,Writer的轉換類:InputStreamReader, OutputStreamWriter
2、對象輸入輸出:ObjectInputStream, ObjectOutputStream
3、進程間通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter
4、合並輸入:SequenceInputStream
5、更特殊的需要:PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader
決定使用哪個類以及它的構造進程的一般准則如下(不考慮特殊需要):
首先,考慮最原始的數據格式是什麼: 原則四
第二,是輸入還是輸出:原則五
第三,是否需要轉換流:原則六第1點
第四,數據來源(去向)是什麼:原則一
第五,是否要緩沖:原則三 (特別註明:一定要注意的是readLine()是否有定義,有什麼比read, write更特殊的輸入或輸出方法)
第六,是否要格式化輸出:原則二
Java中Inputstream與Reader的區別
Reader支持16位的Unicode字元輸出,InputStream支持8位的字元輸出。
Reader和InputStream分別是I/O庫提供的兩套平行獨立的等級機構,
InputStream、OutputStream是用來處理8位元的流,
Reader、Writer是用來處理16位元的流。
而在JAVA語言中,byte類型是8位的,char類型是16位的,所以在處理中文的時候需要用Reader和Writer。
值得說明的是,在這兩種等級機構下,還有一道橋梁InputStreamReader、OutputStreamWriter負責進行InputStream到Reader的適配和由OutputStream到Writer的適配。
java.io.Reader 和 java.io.InputStream 組成了 Java輸入類。Reader 用於讀入16位字元,也就是 Unicode編碼的字元;而 InputStream 用於讀入 ASCII字元和二進制數據。
在 Java中,有不同類型的 Reader 輸入流對應於不同的數據源:
FileReader 用於從文件輸入;
CharArrayReader 用於從程序中的字元數組輸入;
StringReader 用於從程序中的字元串輸入;
PipedReader 用於讀取從另一個線程中的 PipedWriter 寫入管道的數據。
相應的也有不同類型的 InputStream 輸入流對應於不同的數據源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,還有兩種沒有對應 Reader 類型的 InputStream 輸入流:
Socket 用於套接字;
URLConnection 用於 URL 連接。
這兩個類使用 getInputStream() 來讀取數據。
相應的,java.io.Writer 和 java.io.OutputStream 也有類似的區別。