① java web中使用類載入器讀取資源和直接使用文件流讀取資源有什麼區別
建議用ResourceBundle resource = PropertyResourceBundle.getBundle("db");來讀取db.properties文件 PropertyResourceBundle是專門讀取資源文件的。
② 用java 如何讀取配置文件(如:資源文件)中配
java讀取配置文件的幾種方法如下:
方式一:採用ServletContext讀取,讀取配置文件的realpath,然後通過文件流讀取出來。因為是用ServletContext讀取文件路徑,所以配置文件可以放入在web-info的classes目錄中,也可以在應用層級及web-info的目錄中。文件存放位置具體在eclipse工程中的表現是:可以放在src下面,也可放在web-info及webroot下面等。因為是讀取出路徑後,用文件流進行讀取的,所以可以讀取任意的配置文件包括xml和properties。缺點:不能在servlet外面應用讀取配置信息。
方式二:採用ResourceBundle類讀取配置信息,
優點是:可以以完全限定類名的方式載入資源後,直接的讀取出來,且可以在非Web應用中讀取資源文件。缺點:只能載入類classes下面的資源文件且只能讀取.properties文件。
方式三:採用ClassLoader方式進行讀取配置信息
優點是:可以在非Web應用中讀取配置資源信息,可以讀取任意的資源文件信息
缺點:只能載入類classes下面的資源文件。
方法4 getResouceAsStream
XmlParserHandler.class.getResourceAsStream 與classloader不同
使用的是當前類的相對路徑
③ java普通方法和靜態方法的載入(注意是載入)時機相同嗎存儲方法耗費內存空間嗎
靜態方法放在Date數據區 可以直接調用 和STATIC 變數一樣的 在內存開始載入的時候就有空間了 普通方法是 程序運行到的時候才開始調用直接用
④ JAVA 載入資源文件的問題
1.
這一句指定的文件的名字,也就是SysConstants這個類中存在一個叫做SYS_PROPERTYNAME的變數,它的值就是sys.properties,也就是這樣的
public static String SYS_PROPERTYNAME="sys.properties",你想在載入sys2.properties文件,只需再增加public static String SYS_PROPERTYNAME2="sys2.properties",再用上面的load方法載入即可。也就是p.load(Tools.class.GetClassLoader().getResourceAsStream(SysCOnstants.SYS_PROPERTYNAME2));即可。
2.通過類裝載器來裝載資源文件,這樣就不必寫出資源文件的全路徑了。
3.載入後的資源文件你可以理解成一個map(類似),等號前邊的是key,等號後邊的是值。
⑤ Android studio 載入Java和資源文件出錯
檢查是否編譯了項目。Android studio有時候沒有編譯就會報出沒有R文件的錯誤。
檢查帶代碼中包名是否正確。有時候從其他地方復制代碼過來時連帶了包名,也會報出R文件找不到。
檢查布局文件是否有語法錯誤。布局文件有語言錯誤時也會導致R文件錯誤。
軟體抽風了,重建項目試試。
另外可能很多人不知道在哪兒找R文件,Android studio左上角有個選項,一般我們可能是選的Android模式,選擇Packages模式找到你的項目,裡面就可以看到R文件了
⑥ java中怎麼載入oracle資料庫
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*" %>
java.sql.Connection conn;
ResultSet rs;
Statement stmt;
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //裝載JDBC驅動程序
conn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@11.11.11.1:1521:orcl","aaa","bbb"); //連接資料庫
stmt=conn.createStatement();
/*
try {
Context ctx = new InitialContext(); //初始化上下文
DataSource ds = (DataSource) ctx.lookup("hahaJNID"); //建立數據資源
conn = ds.getConnection(); //建立連接
stmt = conn.createStatement();
}
catch (Exception e) {
e.printStackTrace();
}*/
沒注釋的是硬寫連接的
注釋的是指定JNDI名字是lookup的連接池方式
LIB中引入ojdbc14.jar
⑦ java無法載入資源
問題java基本沒關系命令行操作熟悉
javac 文件寫路徑寫文件名讀取前輸入命令前面路徑找文件
java 文件要進入.class文件路徑再使用java HelloWorld要java 文件完整路徑
⑧ Java載入資源文件的幾種方法
1:使用本類的Class類的getResource()方法
URL filePathUrl3 = TestMain.class.getResource("/test/spring/beanpost/file/beans_diffLocation.xml");
2:使用本類的Class類的ClassLoader類的getResource()方法
URL filePathUrl5 = TestMain.class.getClassLoader().getResource("test/spring/beanpost/file/beans_diffLocation.xml");
3:使用ClassLoader類的getSystemResource()方法
URL filePathUrl6 = ClassLoader.getSystemResource("test/spring/beanpost/beans_sameLocation.xml");
4:使用Thread類載入資源
URL filePathUrl8 = Thread.currentThread().getContextClassLoader().getResource("test/spring/beanpost/file/beans_diffLocation.xml");
⑨ Java Web Start-下載錯誤 無法載入資源 進不了系統是怎麼回事求助,謝謝
估計是防火牆攔截了
或者說,用java運行會看到一些警告
是表示你用了一些 java 不推薦使用 類或者函數
⑩ java靜態資源(靜態方法,靜態屬性)是程序一運行就載入到jvm中,還是當被調用的時候才進行載入呢
當類第一次被調用時載入(靜態方法,靜態屬性的載入就是類載入) 。
1、類中的靜態屬性會被加入到類對象(也可以叫做類的模板,是類的描述) 的構造器中,靜態方法也會被加入到類對象中。
2、當第一次使用類時,JVM會通過類載入器,載入類對象,從而初始化靜態屬性,並裝入類的方法,包括靜態方法和實例方法(方法不會被調用,只是載入,從這個意義上來說,靜態方法和實例方法是類似的)。
3、當創建類的實例對象時,JVM會調用類的構造器,從而初始化類的屬性。
(10)java資源載入擴展閱讀:
類(包括靜態方法、屬性)載入過程:
一、載入。
根據一個類的全限定名(如cn.e.h.test.HelloWorld.class)來讀取此類的二進制位元組流到JVM內部。
將位元組流所代表的靜態存儲結構轉換為方法區的運行時數據結構(hotspot選擇將Class對象存儲在方法區中,Java虛擬機規范並沒有明確要求一定要存儲在方法區或堆區中)轉換為一個與目標類型對應的java.lang.Class對象。
二、連接。
1、驗證。
驗證階段主要包括四個檢驗過程:文件格式驗證、元數據驗證、位元組碼驗證和符號引用驗證;
2、准備。
為類中的所有靜態變數分配內存空間,並為其設置一個初始值(由於還沒有產生對象,實例變數將不再此操作范圍內);
3、解析。
將常量池中所有的符號引用轉為直接引用(得到類或者欄位、方法在內存中的指針或者偏移量,以便直接調用該方法)。這個階段可以在初始化之後再執行。