- 浏览: 867704 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (280)
- java相关 (29)
- linux系统 (55)
- ipsec (0)
- ssl (3)
- 信息安全 (13)
- web相关 (35)
- windows (9)
- c,c++ (14)
- log4j (3)
- hibernate (8)
- sqlite (1)
- 程序人生 (2)
- js (2)
- 生活点滴 (3)
- 网络相关 (14)
- 问题积累 (15)
- 数据库相关 (27)
- 软件测试 (2)
- PKI相关 (2)
- 程序设计 (7)
- 犄角旮旯 (0)
- 杂七杂八 (0)
- 硬件相关 (14)
- 防火墙 (2)
- 电子商务 (2)
- 多媒体相关 (1)
- 内存管理 (4)
- 面向对象 (1)
- csp (1)
- 驱动开发 (3)
- 移动开发 (2)
- openssl多线程实例 (1)
最新评论
-
xiaoyao3857:
博主很有探索精神嘛,学习了
Linux主机名Hostname详解 -
hiskyrisa:
言简意赅,好文章。
Flex是什么 -
layznet:
犯了类似错误。使用的是derby数据库。driverClass ...
java.sql.SQLException: No suitable driver -
idision:
你好,文章有一句createSubjectKeyId(keyT ...
bouncycastle 产生证书 -
zheng12tian:
代码有全的不?只贴一部分,,,,
在LOG4J中把日志写入远程数据库
在Windows开发中,可以使用*.ini文件来保存程序的状态或设置等数据,并且一般都提供了操作ini文件的API。但在Java中怎么实现类似的功能呢?比如,在程序中,我们需要保存一个窗口的位置,让程序在下次启动的时候,仍然保持在上一次关闭的时候的位置,或者程序需要将数据库连接的设置保存下来。
在前面一篇<<保存Java程序状态及设置之对象序列化>>中介绍了使用序列化的类来保存这些数据,本篇文章介绍使用Properties文件来保存.Properties文件的本质就是一个文本文件,文件中使用属性和值来保存数据,如:abc.name=Colin。使用Porperites文件来保存实际上就是创建一个Properites 文件,在程序关闭的时候,将数据写入文件,再等程序启动的时候,从这个Properties文件中读出数据。
我们假设有一个对象frame,在启动的时候要从一个properties文件中读取数据,再根据读取的数据来设置其位置及大小,在frame关闭的时候将位置,大小等数据保存到properties文件中。
用JAVA轻松操作properties文件
发个例子大家自己看哈.
package control;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;
public class TestMain {
//根据key读取value
public static String readValue(String filePath,String key) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
String value = props.getProperty (key);
System.out.println(key+value);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//读取properties的全部信息
public static void readProperties(String filePath) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
Enumeration en = props.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = props.getProperty (key);
System.out.println(key+Property);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//写入properties信息
public static void writeProperties(String filePath,String parameterName,String parameterValue) {
Properties prop = new Properties();
try {
InputStream fis = new FileInputStream(filePath);
//从输入流中读取属性列表(键和元素对)
prop.load(fis);
//调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。
//强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
OutputStream fos = new FileOutputStream(filePath);
prop.setProperty(parameterName, parameterValue);
//以适合使用 load 方法加载到 Properties 表中的格式,
//将此 Properties 表中的属性列表(键和元素对)写入输出流
prop.store(fos, "Update '" + parameterName + "' value");
} catch (IOException e) {
System.err.println("Visit "+filePath+" for updating "+parameterName+" value error");
}
}
public static void main(String[] args) {
readValue("info.properties","url");
writeProperties("info.properties","age","21");
readProperties("info.properties" );
System.out.println("OK");
}
}
在前面一篇<<保存Java程序状态及设置之对象序列化>>中介绍了使用序列化的类来保存这些数据,本篇文章介绍使用Properties文件来保存.Properties文件的本质就是一个文本文件,文件中使用属性和值来保存数据,如:abc.name=Colin。使用Porperites文件来保存实际上就是创建一个Properites 文件,在程序关闭的时候,将数据写入文件,再等程序启动的时候,从这个Properties文件中读出数据。
我们假设有一个对象frame,在启动的时候要从一个properties文件中读取数据,再根据读取的数据来设置其位置及大小,在frame关闭的时候将位置,大小等数据保存到properties文件中。
用JAVA轻松操作properties文件
发个例子大家自己看哈.
package control;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;
public class TestMain {
//根据key读取value
public static String readValue(String filePath,String key) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
String value = props.getProperty (key);
System.out.println(key+value);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//读取properties的全部信息
public static void readProperties(String filePath) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream (new FileInputStream(filePath));
props.load(in);
Enumeration en = props.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = props.getProperty (key);
System.out.println(key+Property);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//写入properties信息
public static void writeProperties(String filePath,String parameterName,String parameterValue) {
Properties prop = new Properties();
try {
InputStream fis = new FileInputStream(filePath);
//从输入流中读取属性列表(键和元素对)
prop.load(fis);
//调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。
//强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
OutputStream fos = new FileOutputStream(filePath);
prop.setProperty(parameterName, parameterValue);
//以适合使用 load 方法加载到 Properties 表中的格式,
//将此 Properties 表中的属性列表(键和元素对)写入输出流
prop.store(fos, "Update '" + parameterName + "' value");
} catch (IOException e) {
System.err.println("Visit "+filePath+" for updating "+parameterName+" value error");
}
}
public static void main(String[] args) {
readValue("info.properties","url");
writeProperties("info.properties","age","21");
readProperties("info.properties" );
System.out.println("OK");
}
}
发表评论
-
关于Bad version number in .class file的问题
2010-11-15 14:20 1010关于Bad version number in .class ... -
一个获取文件crc32校验码的简洁的java类
2010-05-12 19:48 3281从jdk1.4开始,java核心包里已经提供对crc计算的支持 ... -
Windows下Apache与Tomcat的整合
2010-05-12 13:52 1087为了完成这个任务,在 ... -
SSL双向认证java实现
2010-05-09 11:35 1808本文通过模拟场景,介 ... -
java.util.ResourceBundle 使用详解
2010-04-28 19:39 863一、认识国际化资源文件 这个类提供软件国际化的捷 ... -
基于JAAS实现登录
2010-04-25 22:11 1269JAAS:Java Authentication and ... -
什么是JAAS,以及灵活的Java安全机制
2010-04-25 22:05 1900今天在论坛上看到JASS,不清楚是什么呢,网上找了一下,受益良 ... -
Java插件技术
2010-04-25 21:31 21621.Java插件技术 Java插件技术(Java Plu ... -
java RMI的例子(转)
2010-04-25 21:11 962参考别人的程序后写了个自己的RMI 程序RMI ,远程方法 ... -
Java安全通信、数字证书及应用实践(转)
2010-04-21 21:05 1685摘要 : 在本文 ... -
Eclips 内存溢出
2010-04-13 16:26 1054在Eclipse 根目录下找到eclipse .ini ... -
Eclipse 启动不起来异常:JVM terminated. Exit code=-1
2010-04-11 10:09 7472Eclipse 启动不起来,出现以下错误: ... -
Java程序员需要了解的几个开源协议介绍
2009-12-21 21:32 1125介绍几个比较常见的开 ... -
apache lucene介绍
2009-12-15 09:16 1958什么是lucene Apache Lucene是一个开放源程序 ... -
Java基础:Java中堆内存与栈内存分配浅析
2009-08-11 20:19 1360Java 把内存划分成两种:一种是栈内存,另一种是堆内存 ... -
对synchronized(this)的一些理解
2009-07-23 10:21 1187一、当两个并发线程访问同一个对象object中的这个synch ... -
Linux下JNI调用
2009-07-09 12:43 1469整个实现过程可以分为五步来完成: 1)写一个声明了nativ ... -
如何在Java中执行其它程序
2009-07-09 12:42 2318在编写Java程序时,有时 ... -
linux下jdk的安装与卸载
2009-07-06 10:46 2112下面是卸载步骤: 用ro ... -
JNI技术小试
2009-06-23 14:28 1241目前 java 与 dll 交互的技术主要有 ...
相关推荐
此外,项目中可能还包含了一些关键的配置文件,如application.properties或application.yml,用于配置SpringBoot应用的环境变量、数据库连接信息等。开发者可能还会使用IntelliJ IDEA这样的集成开发环境(IDE)来...
游戏状态(如分数、等级等)可以通过文件系统持久化,例如使用Properties类保存配置,或者JSON库(如Jackson)存储复杂数据结构。 综上所述,"飞机大战Java版Java Swing"是一个结合了Java基础、GUI编程、面向对象...
4. **配置文件(.txt或.properties)**:用于存储游戏设置,如玩家信息、关卡数据等。 5. **主程序入口(Main Class)**:启动游戏的起点,负责初始化游戏环境并控制游戏流程。 6. **项目构建文件(如build.gradle或...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 关系运算符 13 实例7 逻辑...
1. **源代码**(src目录):Java程序的主体部分,包括.java文件,这些文件包含了类和方法的定义,实现了拼图游戏的逻辑。 2. **资源文件**(如res目录):可能包含游戏的图像、音频、配置文件等,用于增强游戏的视觉...
Java提供了`Properties`类或其他文件I/O方法来实现数据的存储和读取。 9. **多线程**:高级游戏可能会使用多线程来优化性能,例如将游戏逻辑和渲染分开在不同的线程上执行。 通过分析【标签】"java 雷电 源码",...
GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...
在【压缩包子文件的文件名称列表】"ChickBoxs"中,我们可以推测这是整个项目或者源代码的根目录,其中可能包含源代码文件(如.java文件)、资源文件(如图片、音频等)、配置文件(如XML或properties文件)以及可能...
4. **文件存储与读取**:游戏状态、用户信息等可能需要持久化存储,这可能涉及文件IO操作,如使用Properties类保存和加载配置文件。 5. **异常处理**:良好的异常处理机制可以确保程序在遇到错误时不会崩溃,提高...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 ...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...
1. `project.properties`:这是Android项目的配置文件,用于记录项目的属性,如编译SDK版本、依赖库等。 2. `论文`:这通常包含设计报告或研究论文,详细解释了游戏的设计理念、实现方法、遇到的问题及解决方案。 3....
在IT行业中,日志管理是系统运维和故障排查的关键环节,尤其对于服务器应用程序如Tomcat而言,正确配置日志能够帮助我们及时了解应用状态、定位问题。本篇将详细讲解Tomcat日志设置的相关知识点,旨在提供一套实用的...
实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...
GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...
为了将图片保存到Linux文件系统,我们需要在服务器上设置一个目录作为存储位置。在Spring Boot中,可以使用`@Value`注解注入配置文件(如`application.properties`或`application.yml`)中的路径变量。然后,使用...
Apache Tomcat 8.5.28 是一个广泛使用的开源软件,它是一个Java Servlet容器,专为部署Java Web应用程序而设计。Tomcat是Apache软件基金会的Jakarta项目的一部分,是符合Java EE规范的轻量级应用服务器,尤其适用于...
- **驱动类未找到**:如果出现`java.lang.ClassNotFoundException`,说明没有正确地添加驱动程序的JAR文件到项目中。解决方法是将相应的驱动JAR文件放入项目的`WEB-INF/lib`目录下。 - **连接被拒绝**:当出现`java...