首页编程java编程java中的conf是什么文件 JAVA 类名.class是什么意思

java中的conf是什么文件 JAVA 类名.class是什么意思

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

很多朋友对于java中的conf是什么文件和JAVA 类名.class是什么意思不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

java中的conf是什么文件 JAVA 类名.class是什么意思

JAVA 类名.class是什么意思

ConfMgr.class是获取ConfMgr的class对象,类型类指的是代表一个类型的类,因为一切皆是对象,几种获取class对象的方法:

1,所有的引用数据类型(类-类型)的类名、基本数据类型都可以通过.class方式获取其 Class对象。

对于基本数据类型的封装类还可以通过.TYPE的方式获取其 Class对象,但要注意。TYPE实际上获取的封装类对应的基本类型的 Class对象的引用。

java中的conf是什么文件 JAVA 类名.class是什么意思

那么你可以判断出int.class==Integer.TYPE返回 true,int.class==Integer.class返回 false!通过这种方式不会初始化静态域,使用.class、.TYPE的方式获取 Class对象叫做类的字面常量;

2,Class的 forName(String name)传入一个类的完整类路径也可以获得 Class对象。

由于使用的是字符串,必须强制转换才可以获取泛型的Class<T>的 Class对象,并且必须获取这个方法可能抛出的ClassNotFoundException异常。这种方法可以初始化静态域。

java中的conf是什么文件 JAVA 类名.class是什么意思

3,还可通过类的对象实例下的getClass()方法来获取Class对象,即实例名getClass()

扩展资料

在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。

每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类。

通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中。

通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

参考资料:Java-百度百科

java编程中Properties类的具体作用和使用!

如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的。(如清单 1所示)。最近更新的java.util.Properties类现在提供了一种为程序装载和存储设置的更容易的方法: loadFromXML(InputStreamis)和 storeToXML(OutputStream os, String comment)方法。

一下是详细的说明,希望能给大家带来帮助。

清单 1.一组属性示例

foo=bar

fu=baz

将清单 1装载到 Properties对象中后,您就可以找到两个键( foo和 fu)和两个值( foo的 bar和 fu的baz)了。这个类支持带\u的嵌入 Unicode字符串,但是这里重要的是每一项内容都当作 String。

清单2显示了如何装载属性文件并列出它当前的一组键和值。只需传递这个文件的 InputStream给 load()方法,就会将每一个键-值对添加到 Properties实例中。然后用 list()列出所有属性或者用 getProperty()获取单独的属性。

清单 2.装载属性

import java.util.*;

import java.io.*;

public class LoadSample{

public static void main(String args[]) throws Exception{

Properties prop= new Properties();

FileInputStream fis=

new FileInputStream("sample.properties");

prop.load(fis);

prop.list(System.out);

System.out.println("\nThe foo property:"+

prop.getProperty("foo"));

}

}

运行 LoadSample程序生成如清单 3所示的输出。注意 list()方法的输出中键-值对的顺序与它们在输入文件中的顺序不一样。Properties类在一个散列表(hashtable,事实上是一个 Hashtable子类)中储存一组键-值对,所以不能保证顺序。

清单 3. LoadSample的输出

-- listing properties--

fu=baz

foo=bar

The foo property: bar

XML属性文件

这里没有什么新内容。 Properties类总是这样工作的。不过,新的地方是从一个 XML文件中装载一组属性。它的 DTD如清单 4所示。

清单 4.属性 DTD

<?xml version="1.0" encoding="UTF-8"?>

<!-- DTD for properties-->

<!ELEMENT properties( comment?, entry*)>

<!ATTLIST properties version CDATA#FIXED"1.0">

<!ELEMENT comment(#PCDATA)>

<!ELEMENT entry(#PCDATA)>

<!ATTLIST entry key CDATA#REQUIRED>

如果不想细读 XML DTD,那么可以告诉您它其实就是说在外围<properties>标签中包装的是一个<comment>标签,后面是任意数量的<entry>标签。对每一个<entry>标签,有一个键属性,输入的内容就是它的值。清单 5显示了清单 1中的属性文件的 XML版本是什么样子的。

清单 5. XML版本的属性文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM" http://java.sun.com/dtd/properties.dtd">

<properties>

<comment>Hi</comment>

<entry key="foo">bar</entry>

<entry key="fu">baz</entry>

</properties>

如果清单 6所示,读取 XML版本的 Properties文件与读取老格式的文件没什么不同。

清单 6.读取 XML Properties文件

import java.util.*;

import java.io.*;

public class LoadSampleXML{

public static void main(String args[]) throws Exception{

Properties prop= new Properties();

FileInputStream fis=

new FileInputStream("sampleprops.xml");

prop.loadFromXML(fis);

prop.list(System.out);

System.out.println("\nThe foo property:"+

prop.getProperty("foo"));

}

}

关于资源绑定的说明

虽然 java.util.Properties类现在除了支持键-值对,还支持属性文件作为 XML文件,不幸的是,没有内置的选项可以将ResourceBundle作为一个 XML文件处理。是的, PropertyResourceBundle不使用 Properties对象来装载绑定,不过装载方法的使用是硬编码到类中的,而不使用较新的 loadFromXML()方法。

运行清单 6中的程序产生与原来的程序相同的输出,如清单 2所示。

保存 XML属性

新的 Properties还有一个功能是将属性存储到 XML格式的文件中。虽然 store()方法仍然会创建一个类似清单 1所示的文件,但是现在可以用新的 storeToXML()方法创建如清单 5所示的文件。只要传递一个 OutputStream和一个用于注释的 String就可以了。清单 7展示了新的 storeToXML()方法。

清单 7.将 Properties存储为 XML文件

import java.util.*;

import java.io.*;

public class StoreXML{

public static void main(String args[]) throws Exception{

Properties prop= new Properties();

prop.setProperty("one-two","buckle my shoe");

prop.setProperty("three-four","shut the door");

prop.setProperty("five-six","pick up sticks");

prop.setProperty("seven-eight","lay them straight");

prop.setProperty("nine-ten","a big, fat hen");

FileOutputStream fos=

new FileOutputStream("rhyme.xml");

prop.storeToXML(fos,"Rhyme");

fos.close();

}

}

运行清单 7中的程序产生的输出如清单 8所示。

清单 8.存储的 XML文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM" http://java.sun.com/dtd/properties.dtd">

<properties>

<comment>Rhyme</comment>

<entry key="seven-eight">lay them straight</entry>

<entry key="five-six">pick up sticks</entry>

<entry key="nine-ten">a big, fat hen</entry>

<entry key="three-four">shut the door</entry>

<entry key="one-two">buckle my shoe</entry>

</properties>

在这里改了一个例子:

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

/**

*实现properties文件的读取

*@author haoxuewu

*/

public class Test{

public static void main(String[] args){

try{

long start= System.currentTimeMillis();

InputStream is= new FileInputStream("conf.properties");

Properties p= new Properties();

p.load(is);

is.close();

System.out.println("SIZE:"+ p.size());

System.out.println("homepage:"+ p.getProperty("homepage"));

System.out.println("author:"+ p.getProperty("author"));

System.out.println("school:"+ p.getProperty("school"));

long end= System.currentTimeMillis();

System.out.println("Cost:"+(end- start));

} catch(IOException ioe){

ioe.printStackTrace();

}

}

}

conf.properties

# Configuration file

homepage= http://www.blogjava.net/haoxuewu

author= bbflyerwww

school= jilinjianzhugongchengxueyuan

Result

SIZE:3

homepage: http://www.blogjava.net/haoxuewu

author: bbflyerwww

school: jilinjianzhugongchengxueyuan

在java中如何读取properties文件

最常用读取properties文件的方法

InputStream in= getClass().getResourceAsStream("资源Name");这种方式要求properties文件和当前类在同一文件夹下面。如果在不同的包中,必须使用:

InputStream ins= this.getClass().getResourceAsStream("/cn/zhao/properties/testPropertiesPath2.properties");

Java中获取路径方法

获取路径的一个简单实现

反射方式获取properties文件的三种方式

1反射方式获取properties文件最常用方法以及思考:

Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Class类的getResourceAsStream(String name)方法来实现,但我见到众多读取properties文件的代码中,都会这么干:

InputStream in= getClass().getResourceAsStream("资源Name");

这里面有个问题,就是getClass()调用的时候默认省略了this!我们都知道,this是不能在static(静态)方法或者static块中使用的,原因是static类型的方法或者代码块是属于类本身的,不属于某个对象,而this本身就代表当前对象,而静态方法或者块调用的时候是不用初始化对象的。

问题是:假如我不想让某个类有对象,那么我会将此类的默认构造方法设为私有,当然也不会写别的共有的构造方法。并且我这个类是工具类,都是静态的方法和变量,我要在静态块或者静态方法中获取properties文件,这个方法就行不通了。

那怎么办呢?其实这个类就不是这么用的,他仅仅是需要获取一个Class对象就可以了,那还不容易啊--

取所有类的父类Object,用Object.class难道不比你的用你正在写类自身方便安全吗?呵呵,下面给出一个例子,以方便交流。

import java.util.Properties;

import java.io.InputStream;

import java.io.IOException;

/**

*读取Properties文件的例子

* File: TestProperties.java

* User: leizhimin

* Date: 2008-2-15 18:38:40

*/

public final class TestProperties{

private static String param1;

private static String param2;

static{

Properties prop= new Properties();

InputStream in= Object. class.getResourceAsStream("/test.properties");

try{

prop.load(in);

param1= prop.getProperty("initYears1").trim();

param2= prop.getProperty("initYears2").trim();

} catch(IOException e){

e.printStackTrace();

}

}

/**

*私有构造方法,不需要创建对象

*/

private TestProperties(){

}

public static String getParam1(){

return param1;

}

public static String getParam2(){

return param2;

}

public static void main(String args[]){

System.out.println(getParam1());

System.out.println(getParam2());

}

}

运行结果:

151

152

当然,把Object.class换成int.class照样行,呵呵,大家可以试试。

另外,如果是static方法或块中读取Properties文件,还有一种最保险的方法,就是这个类的本身名字来直接获取Class对象,比如本例中可写成TestProperties.class,这样做是最保险的方法

2获取路径的方式:

File fileB= new File( this.getClass().getResource("").getPath());

System. out.println("fileB path:"+ fileB);

2.2获取当前类所在的工程名:

System. out.println("user.dir path:"+ System. getProperty("user.dir"))<span style="background-color: white;">3获取路径的一个简单的Java实现</span>

/**

*获取项目的相对路径下文件的绝对路径

*

*@param parentDir

*目标文件的父目录,例如说,工程的目录下,有lib与bin和conf目录,那么程序运行于lib or

* bin,那么需要的配置文件却是conf里面,则需要找到该配置文件的绝对路径

*@param fileName

*文件名

*@return一个绝对路径

*/

public static String getPath(String parentDir, String fileName){

String path= null;

String userdir= System.getProperty("user.dir");

String userdirName= new File(userdir).getName();

if(userdirName.equalsIgnoreCase("lib")

|| userdirName.equalsIgnoreCase("bin")){

File newf= new File(userdir);

File newp= new File(newf.getParent());

if(fileName.trim().equals("")){

path= newp.getPath()+ File.separator+ parentDir;

} else{

path= newp.getPath()+ File.separator+ parentDir

+ File.separator+ fileName;

}

} else{

if(fileName.trim().equals("")){

path= userdir+ File.separator+ parentDir;

} else{

path= userdir+ File.separator+ parentDir+ File.separator

+ fileName;

}

}

return path;

}

4利用反射的方式获取路径:

InputStream ips1= Enumeration. class.getClassLoader().getResourceAsStream("cn/zhao/enumStudy/testPropertiesPath1.properties");

InputStream ips2= Enumeration. class.getResourceAsStream("testPropertiesPath1.properties");

InputStream ips3= Enumeration. class.getResourceAsStream("properties/testPropertiesPath2.properties");

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

javascript属于什么语言,JavaScript属于什么语言java中attribute是什么意思(java中的属性是什么意思)