首页编程java编程java中load什么意思?java的load方法有什么用

java中load什么意思?java的load方法有什么用

编程之家2023-10-11111次浏览

其实java中load什么意思的问题并不复杂,但是又很多的朋友都不太了解java的load方法有什么用,因此呢,今天小编就来为大家分享java中load什么意思的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

java中load什么意思?java的load方法有什么用

java中properties的load方法读取的文件内容怎么写

1.使用java.util.Properties类的load()方法

示例:

//文件在项目下。不是在包下!!

java中load什么意思?java的load方法有什么用

InputStream in= new BufferedInputStream(new FileInputStream("demo.properties"));

Properties p= new Properties();

p.load(in);

java中load什么意思?java的load方法有什么用

String className2= p.getProperty("database.driver");

String url= p.getProperty("database.url");

String user= p.getProperty("database.user");

String password= p.getProperty("database.pass");

2.使用java.util.Resourcebundle类的getbundle()方法

//前面没有“/”代表当前类的目录

示例:

//文件和类在同一个包下,注意它的文件名和后缀!!是调换的,

//这里我也不知道为什么文件名和后缀名要调换??知道的麻烦您告诉我一声,谢谢!!

ResourceBundle resource= ResourceBundle.getBundle("properties.jdbc");

String className= resource.getString("database.driver");

String url= resource.getString("database.url");

String user= resource.getString("database.user");

String password= resource.getString("database.pass");

3.使用java.util.PropertyResourceBundle类的构造函数

示例:

//文件在项目下或者 src/demo.properties

//在 src/demo.properties写成 new FileInputStream("src/demo.properties")

InputStream in= new BufferedInputStream(new FileInputStream("demo.properties"));

ResourceBundle rb= new PropertyResourceBundle(in);

String className4= rb.getString("database.url");

4.使用class变量的getresourceasstream()方法

示例:

InputStream in=Properties.class.getResourceAsStream("/properties/jdbc.properties");

//包点类名下的。

//如果找不到带有该名称的资源,则返回 null

Properties p= new Properties();

p.load(in);

System.out.println(p.getProperty("database.url"));

5.使用class.getclassloader()所得到的java.lang.classloader的getresourceasstream()方法

// properties文件要放在src下面,否则找不到啊

示例:

InputStream in=类名.class.getClassLoader().getResourceAsStream("jdbc.properties");

Properties p= new Properties();

p.load(in);

System.out.println(p.getProperty("database.pass"));

6.使用java.lang.classloader类的getsystemresourceasstream()静态方法

示例:

//同包名下

InputStream in= ClassLoader.getSystemResourceAsStream("properties/jdbc.properties");

Properties p= new Properties();

p.load(in);

System.out.println(p.getProperty("database.user"));

java load 和 loadlibrary方法的区别

Java load和 loadlibrary方法的区别

1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件。在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI库文件装载。

2.System.load参数为库文件的绝对路径,可以是任意路径。

例如你可以这样载入一个windows平台下JNI库文件:

System.load("C:\\Documents and Settings\\TestJNI.dll");。

3. System.loadLibrary参数为库文件名,不包含库文件的扩展名。

例如你可以这样载入一个windows平台下JNI库文件

System. loadLibrary("TestJNI");

这里,TestJNI.dll必须是在java.library.path这一jvm变量所指向的路径中。

可以通过如下方法来获得该变量的值:

System.getProperty("java.library.path");

默认情况下,在Windows平台下,该值包含如下位置:

1)和jre相关的一些目录

2)程序当前目录

3)Windows目录

4)系统目录(system32)

5)系统环境变量path指定目录

4.如果你要载入的库文件静态链接到其它动态链接库,例如TestJNI.dll静态链接到dependency.dll,那么你必须注意:

1)如果你选择

System.load("C:\\Documents and Settings\\ TestJNI.dll");

那么即使你把dependency.dll同样放在C:\\Documents and Settings\\下,load还是会因为找不到依赖的dll而失败。因为jvm在载入TestJNI.dll会先去载入TestJNI.dll所依赖的库文件dependency.dll,而dependency.dll并不位于java.library.path所指定的目录下,所以jvm找不到 dependency.dll。

你有两个方法解决这个问题:一是把C:\\Documents and Settings\\加入到java.library.path的路径中,例如加入到系统的path中。二是先调用

System.load("C:\\Documents and Settings\\ dependency.dll");让jvm先载入dependency.dll,然后再调用System.load("C:\\Documents and Settings\\ TestJNI.dll");

2)如果你选择

System. loadLibrary("TestJNI");

那么你只要把dependency.dll放在任何java.library.path包含的路径中即可,当然也包括和TestJNI.dll相同的目录。

附load方法:

/*

* Loads and links a library without security checks.

*/

void load(String filename, ClassLoader loader){

if(filename== null){

throw new NullPointerException("library path was null.");

}

String error= nativeLoad(filename, loader);

if(error!= null){

throw new UnsatisfiedLinkError(error);

}

}

loadLibrary方法:

/*

* Loads and links a library without security checks.

*/

void loadLibrary(String libraryName, ClassLoader loader){

if(loader!= null){

String filename= loader.findLibrary(libraryName);

if(filename== null){

throw new UnsatisfiedLinkError("Couldn't load"+ libraryName+":"+

"findLibrary returned null");

}

String error= nativeLoad(filename, loader);

if(error!= null){

throw new UnsatisfiedLinkError(error);

}

return;

}

String filename= System.mapLibraryName(libraryName);

List<String> candidates= new ArrayList<String>();

String lastError= null;

for(String directory: mLibPaths){

String candidate= directory+ filename;

candidates.add(candidate);

if(new File(candidate).exists()){

String error= nativeLoad(candidate, loader);

if(error== null){

return;// We successfully loaded the library. Job done.

}

lastError= error;

}

}

if(lastError!= null){

throw new UnsatisfiedLinkError(lastError);

}

throw new UnsatisfiedLinkError("Library"+ libraryName+" not found; tried"+ candidates);

}

java的load方法有什么用

java.lang.Runtime.load(String filename)方法加载指定的文件名作为动态库。

文件名参数必须是一个完整的路径名(如:Runtime.getRuntime().load("/home/avh/lib/libX11.so");)。首先,如果有安全管理器,它的checkLink方法被调用的文件名作为参数。这可能会导致一个安全性异常。这是类似的方法调用 loadLibrary(String),但它接受一个普通的文件名作为参数,而不是仅仅是一个库名,允许本地代码的任何文件被加载。调用此方法的方法System.load(String)是常规的,便捷的手段。

声明

以下是声明java.lang.Runtime.load()方法

public void load(String filename)

参数

filename-- the file to load.

返回值

此方法无返回值.

OK,关于java中load什么意思和java的load方法有什么用的内容到此结束了,希望对大家有所帮助。

java中什么叫实例块?什么叫做实例大灰狼吃小羊(大灰狼吃小羊大象帮忙)