?? resourcereader.java
字號:
package book.io;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import book.basic.HelloWorld;
/**
*從jar包中讀資源文件,如配置文件等
*/
public class ResourceReader {
/**
* 第一種方法讀Jar包中的資源信息,首先讀取資源的URL,再讀取URL對應的文件信息
* @param class1 類
* @param fileName 文件的相對路徑
*/
public static void readFromJarA(Class class1, String fileName) {
//getResource得到一個URL對象來定位資源
URL fileURL = class1.getResource(fileName);
System.out.println("資源的URL: " + fileURL);
try {
//打開fileURL對應的文件流
InputStream inputstream = fileURL.openStream();
BufferedReader bufferedreader = new BufferedReader(
new InputStreamReader(inputstream));
String str;
while ((str = bufferedreader.readLine()) != null) {
System.out.println(str);
}
inputstream.close();
} catch (IOException ioexception) {
ioexception.printStackTrace();
}
}
/**
* 第二種方法讀Jar包中的資源信息。
* @param class1 類
* @param fileName 文件的相對路徑
*/
public static void readFromJarB(Class class1, String fileName) {
//getResourceAsStream取得該資源輸入流的引用,保證程序可以從正確的位置抽取數據
InputStream inputstream = class1.getResourceAsStream(fileName);
if (inputstream != null) {
BufferedReader bufferedreader = new BufferedReader(
new InputStreamReader(inputstream));
String str;
try {
while ((str = bufferedreader.readLine()) != null) {
System.out.println(str);
}
inputstream.close();
} catch (IOException ioexception) {
ioexception.printStackTrace();
}
}
}
public static void main(String[] args) {
Class class1 = HelloWorld.class;
//如果文件相對路徑前沒有"/",則表示相對于該class文件的位置
String filePath = "config0.conf";
ResourceReader.readFromJarA(class1, filePath);
System.out.println();
filePath = "Resources/config1.conf";
ResourceReader.readFromJarB(class1, filePath);
System.out.println();
//如果在文件相對路徑前加上 "/",則表示相對于jar文件的根目錄位置。
//如"/Resources"則表示jar文件的第一層目錄,目錄為Resources
filePath = "/book/basic/Resources/config2.conf";
ResourceReader.readFromJarA(class1, filePath);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -