java配置文件
Ⅰ 配置文件在java 中怎么创建
1.一般在scr下面新建一个属性文件*.properties,如a.properties
然后在Java程序中读取或操作这个属性文件。
代码实例
属性文件a.properties如下:
name=root
pass=liu
key=value
读取a.properties属性列表,与生成属性文件b.properties。代码如下:
1 import java.io.BufferedInputStream;
2 import java.io.FileInputStream;
3 import java.io.FileOutputStream;
4 import java.io.InputStream;
5 import java.util.Iterator;
6 import java.util.Properties;
7
8 public class PropertyTest {
9 public static void main(String[] args) {
10 Properties prop = new Properties();
11 try{
12 //读取属性文件a.properties
13 InputStream in = new BufferedInputStream (new FileInputStream("a.properties"));
14 prop.load(in); ///加载属性列表
15 Iterator<String> it=prop.stringPropertyNames().iterator();
16 while(it.hasNext()){
17 String key=it.next();
18 System.out.println(key+":"+prop.getProperty(key));
19 }
20 in.close();
21
22 ///保存属性到b.properties文件
23 FileOutputStream oFile = new FileOutputStream("b.properties", true);//true表示追加打开
24 prop.setProperty("phone", "10086");
25 prop.store(oFile, "The New properties file");
26 oFile.close();
27 }
28 catch(Exception e){
29 System.out.println(e);
30 }
31 }
32 }
getProperty/setProperty这两个方法是分别是获取和设置属性信息。
Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。
*.properties文件的注释用#。
配置数据的时候是以键值对的形式,调用的时候和修改的时候也是操作键值对。
2.当然还可以用*.xml来配置,位置一般在一个包下面。
例如com.styspace包下面的config.properties文件。
xml version="1.0" encoding="gbk"?>
<Accounts>
<Account type="by0003">
<code>100001</code>
<pass>123</pass>
<name>李四</name>
<money>1000000.00</money>
</Account>
</Accounts>
现在操作config.properties文件。
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
public class peropertiesLoaderTest {
public static void main(String[] args) throws ConfigurationException{
Configuration config = new PropertiesConfiguration("com/styspace/config.properties");
String name = config.getString("name");
System.out.println("name:" + name);
}
}
Ⅱ java使用配置文件的问题
1.src下的和classes下面的配置文件是一样的,为什么不可以只读取src下面的
一般来说,你给别人做了一个软件,他人使用的是你编译好的软件包,这时是不包含src目录的,如果你那样的,运行时就会找不到配置文件。
二,我之前的是取的src下面的配置文件,他修改的使用的是classes下的配置文件
是的,
如果你的类打成jar包,这个就是包里的文件了。
Ⅲ 求解java使用配置文件的好处是什么
额 你一看就没工作过 我给你举个例子
当一个项目方到生产环境,开发人员不是会维护的有专门的维护人员,如果有些地方需要修改,维护人员更改配置文件重启ok了
如果在代码中呢?需要开发人员修改源码然后编译然后替换?你觉得哪个工作量大?而且更改配置文件改一个地方?但这个配置属性在代码中多处用到 如果去代码中岂不是要改很多地方?还有很多 优点自己慢慢感受吧
Ⅳ 怎么优化java jvm配置文件
典型JVM参数设置: java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -Xmx3550m:设置JVM最大可用内存为3550M。 -Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn2g:设置年轻代大小为2G。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。 -Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0 -XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5 -XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。设置为4,则两个Survivor区与一个Eden区的比值为2:4,一个Survivor区占整个年轻代的1/6 -XX:MaxPermSize=16m:设置持久代大小为16m。 -XX:MaxTenuringThreshold=0:设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论。
Ⅳ 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常用的配置文件有哪些
项目中经常会需要读取配置文件(properties文件),给你总结了配置文件读取方法如下:
1、通过java.util.Properties读取
Java代码
Propertiesp=newProperties();
//p需要InputStream对象进行读取文件,而获取InputStream有多种方法:
//1、通过绝对路径:InputStreamis=newFileInputStream(filePath);
//2、通过Class.getResourceAsStream(path);
//3、通过ClassLoader.getResourceAsStream(path);
p.load(InputStreamis);
is.close();
p.getString(String(key))
2、通过java.util.ResourceBundle读取
ResourceBundlerb=ResourceBundle.getBundle(packageName);
rb.getString(Stringkey);
Java代码
Ⅶ java怎样从配置文件里读取文本文件
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.util.Properties;
public class Test
public static void main(String[] args) {
Properties pro = new Properties();
try {
pro.load(new FileInputStream((c:/jdbc.properties")));
} catch (FileNotFoundException e) {
System.out.println("1-FileNotFoundException");
e.printStackTrace();
} catch (IOException e) {
System.out.println("2-IOException");
e.printStackTrace();
}
db_driver = pro.getProperty("db_driver");
db_url = pro.getProperty("db_url");
db_userName = pro.getProperty("db_userName");
db_passWord = pro.getProperty("db_passWord");
}
}
-------------------------------------------------------
c:/jdbc.properties 内容
db_driver=aaaa
db_url=bbbb
db_userName=cccc
db_passWord=dddd
----------------------------------------------------------
希望可以帮到你
Ⅷ java配置文件怎么写
这里的配置指的是java程序的配置的话,可以使用ini, xml ,json。分别有对应的工具库。
还可以使用自带的类Preferences。