`
nowwondering
  • 浏览: 20053 次
  • 来自: 深圳
社区版块
存档分类
最新评论

服务器中访问Properties类型文件的例子

阅读更多

第一步:

 

1.在服务器中访问Properties文件,就不能跟普通的java project中访问Properties文件一样,java project中访问可以通过我们熟悉的方式(例如相对路径)获取到IO流,但在服务器中就不能这样获取,不同的服务器相对的路径不同

 

2.在服务器中访问文件使用Class对象提供的方法,按照classpath路径去读取文件(web标准)

 

3.输入流使用Class对象的getResourceAsStream()方法获得,例如:文件名为loginnum.properties,那么你的访问就应该为getClass().getResourceAsStream("/loginnum.properties");其中文件路径的"/"一定要写

 

4.输出流使用Class对象的getResource()方法获得,例如:文件名为loginnum.properties,那么你的访问就应该为getClass().getResource("/loginnum.properties").getFile();其中文件路径的"/"一定要写

 

5.下面是我的例子的目录结构,如下图所示:

 

6.下面是我写的工具类代码,使用单例去读取文件:

package util;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.Properties;

public class PropertiesUtil {
	
	private static PropertiesUtil pu = new PropertiesUtil("/loginnum.properties");
	
	private PropertiesUtil(String filePath){
		this.filePath = filePath;
		this.properties = new Properties();
	}
	
	private String filePath;
	
	private Properties properties;
	
	private InputStream is;
	
	private OutputStream os;
	
	public String readValue(String key) {
		is = getClass().getResourceAsStream(filePath);
		try {
			properties.load(is);
		} catch (IOException e) {
			e.printStackTrace();
		}
		String value = null;
		try {
			value = properties.getProperty(key);
			is.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return value;
	}
	
	public void writeValue(String key,String value){
		try {
			os = new FileOutputStream(getClass().getResource(filePath).getFile());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		properties.setProperty(key, value);
		try {
			properties.store(os,"Update:"+new Date());
			os.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static PropertiesUtil getInstance(){
		return pu;
	}
}

 

参考资料:

1.http://zhuxinyu.iteye.com/blog/222910

2.http://blog.csdn.net/liangrockman/article/details/5777031

3.http://java.chinaitlab.com/advance/841846.html

4.http://www.cnblogs.com/diyunpeng/archive/2011/06/06/2073567.html 

  • 大小: 2.7 KB
7
11
分享到:
评论
1 楼 daniel514 2012-07-26  
这么重要的读写配置文件类,竟然没有线程同步的功能,太危险了。
应该加个synchronized

相关推荐

    读取properties文件路径的两种方式.zip

    在这个例子中,`Files.newBufferedReader()`方法创建了一个用于读取文件的`BufferedReader`,然后`Properties`类的`load()`方法加载了文件内容。 项目示例中的`demo`部分可能包含了这两个方法的实际代码和运行结果...

    java读取配置文件xml ,properties,txt

    properties文件是Java特有的配置文件格式,用于存储键值对。我们可以使用`java.util.Properties`类来读取和写入此类文件。`ExecutePropertiesUtil.java`文件可能展示了如何使用Properties类的示例代码: ```java ...

    ajax读取properties资源文件数据的方法

    6. 文中特别提示,如果页面中有其他JavaScript代码也需要使用从.properties文件中读取的数据,可以考虑将这些数据保存到全局变量中去,以便于其他地方引用。 通过上述方法,可以实现Web应用的国际化功能,用户可以...

    mybatis例子

    在这个例子中,MySQL数据库被用作后端数据存储。 【描述】"springmvc+mybatis小例子,数据库使用的是mysql数据库" 暗示了这个项目主要包含以下几个关键部分: 1. **SpringMVC**:SpringMVC是Spring框架的一个模块...

    jsp 写的 一个小例子

    3. 如果是数据库连接文件,可能是存储数据库连接信息的Java类或者properties文件,用于连接到数据库并执行SQL查询。 在这个小例子中,我们可以学习到以下JSP相关的知识点: 1. JSP基本结构:了解JSP页面是如何组合...

    android 登陆界面例子

    在登录界面的例子中,你需要声明主Activity(通常为登录界面)并确保应用有网络访问权限,以便于发送网络请求进行用户名和密码验证。 2. **res**目录: 包含了应用的所有资源文件,如布局文件、图片、颜色、字符串...

    SQL访问Excel电子表格的方法

    链接服务器是一种使SQL Server能够访问其他数据源的技术,例如另一个SQL Server实例、Oracle数据库或文本文件等。这里我们将介绍如何通过链接服务器技术来访问Excel文件。 ##### 创建链接服务器 首先,我们需要...

    springboot例子

    1. **起步依赖(Starter)**:SpringBoot通过starter pom文件来简化依赖管理,比如`spring-boot-starter-data-jpa`用于JPA数据访问,`spring-boot-starter-web`用于Web开发,`spring-boot-starter-test`则用于测试。...

    Struts2中实现文件上传功能文档

    在Action类中,你需要实现文件上传的具体逻辑,例如检查文件类型、生成新的文件名以避免重名,以及将文件保存到服务器。这里有一个简单的示例方法: ```java public String addLocalIMG() throws Exception { // ...

    spring boot 小例子

    在这个"spring boot小例子"中,我们看到项目被构建为一个 WAR 包,这表明它是为在外部应用服务器(如 Apache Tomcat)上运行而设计的。通常,Spring Boot 提供两种打包方式:jar 和 war。jar 包适合独立运行,内嵌了...

    [SQLSERVER]跨服务器查询[定义].pdf

    在这个例子中,我们连接到名为ServerA和ServerB的SQL Server实例,并从databaseAName和databaseBName数据库的TableA和TableB中选择数据。注意,你需要替换'User ID'和'Password'为你实际的登录凭据。 除了SQL ...

    Neo4j中文使用手册以及例子

    **Neo4j中文使用手册及例子** Neo4j是一款强大的图形数据库系统,它以其高效、灵活和直观的数据模型——图数据模型,深受开发者喜爱。在处理复杂的关系数据时,如社交网络、推荐系统、知识图谱等场景,Neo4j表现...

    使用Springboot上传图片并将URL保存到数据库中

    在这个例子中,假设我们的应用部署在`http://localhost:8080`,那么图片的URL将是`/uploads/fileName`。接下来,你需要连接到数据库并保存这个URL。这里假设你使用了JPA和Hibernate,你可以创建一个`Picture`实体类...

    mule例子分析

    在这个例子中,有两个关键组件:Greeter 和 ChitChatter。 1. **Greeter 类**:这个类负责读取来自 `hello-example-messages.properties` 文件的问候语,并根据接收到的参数(在这里是名字)进行个性化处理。...

    cas单点登录自己写的测试例子

    这个版本的CAS可能已经包含了基本的配置文件,如`cas.properties`,用于设置服务器的行为和属性,以及可能的定制化服务。 为了运行此示例,你需要: 1. 安装并配置数据库(如果使用数据库认证)。 2. 配置CAS ...

    使用Spring Cloud Netflix Zuul代理网关访问后台REST服务例子

    首先,你需要在`pom.xml`文件中添加Spring Cloud的依赖,特别是Zuul相关的依赖项。然后,在`application.yml`或`application.properties`中配置Zuul路由规则,比如: ```yaml spring: cloud: zuul: routes: ...

    SpringBoot文件上传

    在这个例子中,我们检查`MultipartFile`对象是否为空,然后将其内容写入到"uploads"目录下,文件名保持原样。如果在过程中遇到任何IO异常,我们捕获并返回错误信息。 在实际项目中,为了保证代码的健壮性和安全性,...

    cas单点登录代码例子 有文档 服务端客户端例子 亲测可用

    在导入Eclipse后,你需要配置相应的环境,例如数据库连接、服务器配置(如Tomcat),并根据实际情况修改配置文件(如cas.properties、server.xml等)以适配你的系统环境。安装发布到Tomcat时,需将CAS服务端的war...

    SpringBoot中实现批量文件上传示例代码

    在这个例子中,我们通过`@RequestParam("files") MultipartFile[] files`接收上传的文件数组。循环遍历每个文件,检查文件是否为空,然后读取文件内容。你可以根据实际需求将文件保存到服务器、数据库或其他存储服务...

    spring boot例子

    4. **Maven**:在这个例子中,项目使用了 Maven 作为构建工具。Maven 通过 `pom.xml` 文件管理项目的依赖关系,编译、测试和打包应用。`hdicmaven Maven Webapp` 可能是项目的目录结构,表示这是一个基于Maven的Web...

Global site tag (gtag.js) - Google Analytics