- 浏览: 277019 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhuzhuhenzhencheng:
密码是什么啊
Ext表格(Grid)上面的悬浮提示 -
鹿惊_:
确实如雪中送炭般温暖!
Ext扩展整理后吐血奉献 -
ortega1_2_3:
该版本貌似有bug,当sockIOPool的自平衡线程self ...
Java MemCached Window简单实现 -
q6952592:
好。解决了我的兼容模式下出现的问题。
Ext表格(Grid)上面的悬浮提示 -
fei33423:
请参考 fei33423的文章 java中直接调用groovy ...
Groovy应用(Java与Groovy间相互调用)
首先定义一个properties文件放到classpath路径下
systemConfig.poperties
##comboBox user.status=[0:禁用],[1:启用] user.sex==[0:男],[1:女]
读取properties文件的Java代码:
ReadProperties.java
package com.hwasun.utils; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Properties; /** * * @author JLee * @Since 2011-3-10 * @function * 读取系统的properties文件 * 完成本地combo的数据获取 */ public class ReadProperties { public Map<String,String> readFile(String fileName) {// 传入参数fileName是要读取的资源文件的文件名如(file.properties) InputStream in = null; Properties pros = new Properties(); File file = new File(fileName); Map<String,String> map = new HashMap<String,String>() ; try { if (null != fileName) { // 下面这种方式前提是资源文件必须类在同一个包下 // in = ReadProperties.class.getResourceAsStream(fileName); in = new FileInputStream(file); // 得到当前类的路径,并把资源文件名作为输入流 pros.load(in); Enumeration en = pros.propertyNames();// 得到资源文件中的所有key值 while (en.hasMoreElements()) { String key = (String) en.nextElement(); map.put(key, pros.getProperty(key)) ; // 输出资源文件中的key与value值 // System.out.println("key=" + key + " value=" + pros.getProperty(key)); } } } catch (IOException e) { e.printStackTrace(); System.out.println("读取资源文件出错"); } finally { try { if (null != in) { in.close(); } } catch (IOException e) { e.printStackTrace(); System.out.println("关闭流失败"); } } return map ; } public static void main(String[] args) { //下面这种方式前提是资源文件必须类在同一个包下 // new ReadProperties().readFile("systemConfig.properties") ; //下面这种方式前提是资源文件放在classpath下面 new ReadProperties().readFile(Thread.currentThread().getContextClassLoader().getResource("").getPath()+"systemConfig.properties") ; } }
定义JSP页面
<script type="text/javascript" src="<%=path%>/util/map.js"></script> <script type="text/javascript"> var systemConfig = new Map(); <% ReadProperties readProperties = new ReadProperties() ; java.util.Map<String,String> map = readProperties.readFile(Thread.currentThread().getContextClassLoader().getResource("").getPath()+"systemConfig.properties") ; java.util.Iterator it = map.entrySet().iterator(); while (it.hasNext()){ java.util.Map.Entry entry = (java.util.Map.Entry) it.next(); %> systemConfig.put("<%=entry.getKey()%>","<%=entry.getValue()%>") ; <% } %> //var val = systemConfig.get("user.status") ; </script>
文件中引入了map.js文件,作用是用于存储properties文件的键值对
map.js
/* * 将JS中的Array扩展为Map为了常量的字典设置 * * 接口: size() 获取MAP元素个数 isEmpty() 判断MAP是否为空 clear() 删除MAP所有元素 put(key, value) * 向MAP中增加元素(key, value) remove(key) 删除指定KEY的元素,成功返回True,失败返回False get(key) * 获取指定KEY的元素值VALUE,失败返回NULL element(index) * 获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL containsKey(key) * 判断MAP中是否含有指定KEY的元素 containsValue(value) 判断MAP中是否含有指定VALUE的元素 values() * 获取MAP中所有VALUE的数组(ARRAY) keys() 获取MAP中所有KEY的数组(ARRAY) * * 例子: var map = new Map(); * * map.put("key", "value"); var val = map.get("key") …… * */ function Map() { this.elements = new Array(); // 获取MAP元素个数 this.size = function() { return this.elements.length; } // 判断MAP是否为空 this.isEmpty = function() { return (this.elements.length < 1); } // 删除MAP所有元素 this.clear = function() { this.elements = new Array(); } // 向MAP中增加元素(key, value) this.put = function(_key, _value) { this.elements.push({ key : _key, value : _value }); } //增加元素并覆盖 this.putOverride = function(_key,_value){ this.remove(_key); this.put(_key,_value); } // 删除指定KEY的元素,成功返回True,失败返回False this.remove = function(_key) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { this.elements.splice(i, 1); return true; } } } catch (e) { bln = false; } return bln; } // 获取指定KEY的元素值VALUE,失败返回NULL this.get = function(_key) { try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { return this.elements[i].value; } } } catch (e) { return null; } } // 获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL this.element = function(_index) { if (_index < 0 || _index >= this.elements.length) { return null; } return this.elements[_index]; } // 判断MAP中是否含有指定KEY的元素 this.containsKey = function(_key) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { bln = true; } } } catch (e) { bln = false; } return bln; } // 判断MAP中是否含有指定VALUE的元素 this.containsValue = function(_value) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].value == _value) { bln = true; } } } catch (e) { bln = false; } return bln; } // 获取MAP中所有VALUE的数组(ARRAY) this.values = function() { var arr = new Array(); for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].value); } return arr; } // 获取MAP中所有KEY的数组(ARRAY) this.keys = function() { var arr = new Array(); for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].key); } return arr; } } /** 数字数组,可将字串中的数字提出并加入数组,返回最大最小值,排序 */ function NumberArray(){ this.elements = new Array(); this.addandReturnMax = function(num){ this.add(num); this.sort(); return this.max(); } this.add = function(num){ num = num.replace(/\D/g,''); this.elements.push(num); } this.sort = function(){ this.elements = this.bubbleSort(); return this.elements; } this.max = function(){ return this.elements.slice(0,1); } this.min = function(){ return this.elements.slice(-1,0); } this.bubbleSort = function() { var arr = this.elements; // 外层循环,共要进行arr.length次求最大值操作 for (var i = 0; i < arr.length; i++) { // 内层循环,找到第i大的元素,并将其和第i个元素交换 for (var j = i; j < arr.length; j++) { if (parseInt(arr[i]) < parseInt(arr[j])) { // 交换两个元素的位置 var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; } this.clear = function(){ this.elements = new Array(); } }
定义自己的本地combo
var combo = new Ext.form.ComboBox({ typeAhead: true, triggerAction: 'all', lazyRender:true, mode: 'local', store: new Ext.data.ArrayStore({ id: 0, fields: [ 'myId', 'displayText' ], data: Ext.decode("["+systemConfig.get("user.status")+"]") }), valueField: 'myId', displayField: 'displayText' });
发表评论
-
JSON查看工具
2012-03-09 22:26 0Eclipse 的json插件: 这款插件主要功能是把jso ... -
gzip压缩JavaScript
2012-02-13 17:14 5750为了提高客户端的体验效果,RIA开发逐渐兴起。这样 ... -
Ext扩展整理后吐血奉献
2012-01-19 13:58 7205对 Ext 扩展的一些小总结 1、multicombo (多 ... -
JSON LIB转化时间
2011-11-02 09:32 1385Ext Grid显示Json lib 转化时间为object的 ... -
JS计算日期差
2011-09-24 14:04 1619function Computation(sDate1,sDa ... -
将Air文件转换为EXE进行部署
2011-06-14 17:21 1739如果你的air sdk还没有升级到2.0 那显然是不行的. ... -
禁止IE的backspace键(退格键),但输入文本框时不禁止
2011-06-09 09:59 3702Ext实现方式: Ext.getDoc().on('keyd ... -
Ext中集成在线编辑器Ext.ux.TinyMCE
2011-05-31 15:46 3109Ext.ux.TinyMCE第三方对Ext 在线编辑器的扩展, ... -
Ex的Ajax请求实现同步
2011-05-31 15:29 1370Ext2,.x的Ajax实现同步 Ext.lib.Ajax. ... -
JS实现将XML转化为JSON
2011-05-31 15:09 5602直接上代码 xmlToJson={ parser: ... -
Ext表格(Grid)上面的悬浮提示
2011-05-30 16:36 7633方法一 使用render //鼠标放在Grid上面显示提示 ... -
开发者最容易犯的13个JavaScript错误
2011-04-25 10:28 7261.for.. 数组迭代的用法 U ... -
Ext皮肤切换
2011-04-22 10:46 3357/** * @author JLee * @since ... -
JS获取屏幕大小
2011-04-18 16:56 1252<html> <script> f ... -
在js中对中文和特殊字符转码
2011-04-14 14:21 3960直接上代码 js对文字进行编码涉及3个函数:escape,e ... -
Aptana 构建 Air 项目(集成ExtJS)
2011-03-17 01:00 34871、安装Aptana IDE ... -
XTemplate
2011-03-16 14:07 4574Ext XTemplate的应用: template. ... -
汉字转换为拼音
2011-03-09 10:11 4613首先定义一个html页面: ... -
Ext Grid 实现批量添加或者修改
2011-03-02 22:30 4530将ExtJS Grid 中的record逐一转化为Bean,实 ... -
ExtJS中submit与Ajax的success
2010-11-12 23:10 7922Ajax中使用Success使用response接收后台传来的 ...
相关推荐
在JavaScript(JS)环境中,读取.properties文件通常用于处理配置数据或者本地化文本。这些文件在Java开发中广泛使用,但JavaScript同样可以借助一些库或技术来读取它们。下面我们将详细探讨如何在JavaScript中实现...
`getProperties`方法负责打开文件,读取内容,并将键值对存储到字典中。 ```python class Properties: fileName = '' def __init__(self, fileName): self.fileName = fileName def getProperties(self): ...
ConfigFile configfile = ConfigFile.getInstance("ipConfig123.properties"); String ip = configfile.getkeyvalue("ip"); 可以取出ipConfig123.properties 文件中IP的内容
读取Properties文件是Java开发中的常见操作,特别是在需要根据配置文件动态改变程序行为的时候。下面我们将详细探讨如何在Java中读取Properties文件。 首先,你需要确保你的项目中包含了一个Properties文件,比如`...
properties文件读写操作
本文将详细介绍如何使用Java中最基本的方式来读取`properties`文件中的内容。 #### 核心知识点 1. **`Properties`类简介** 2. **加载`properties`文件** 3. **读取`properties`文件中的属性值** #### `Properties...
Java Properties文件是Java编程语言中用于存储配置信息的文本文件,通常以.properties为扩展名。这类文件的内容主要是键值对,广泛应用于各种配置场景,如应用程序的设置、国际化(i18n)文本等。然而,由于历史原因...
### Java读写Properties配置文件详解 #### 一、引言 在Java开发中,`Properties`类被广泛用于处理各种类型的配置文件。这些文件通常包含了应用程序运行时所需的配置信息,如数据库连接信息、系统参数等。`...
本篇文章将详细讲解如何读取.properties文件,将其内容转化为Map对象,以及如何将这个Map对象写回到新的文件中。 首先,我们需要了解什么是.properties文件。这是一种文本格式的文件,用于存储键值对,其中每个键和...
`properties`文件的读取是Java开发中的常见操作,尤其在处理配置、国际化(i18n)或持久化数据时。 在Java中,我们使用`java.util.Properties`类来处理`properties`文件。以下是一个简单的`properties`文件读取的...
"SSM 读取properties文件"这个话题聚焦于如何在项目中有效地读取和使用这些配置文件。properties文件通常用于存储应用程序的配置参数,如数据库连接信息、服务器端口、邮件服务设置等,使得这些关键信息能够独立于...
总结一下,处理Java中的Properties文件读写时,需要注意文件路径的准确性、文件的读写权限以及缓存问题。通过以上方法,应该能够有效解决描述中提到的问题。对于提供的"新建文本文档.txt",虽然不是Properties文件,...
在IT开发领域,尤其是使用Eclipse作为集成开发环境(IDE)的开发者,经常会遇到一个令人头疼的问题——Properties文件中的中文字符出现乱码。这一现象不仅影响代码的可读性,还可能造成程序运行错误。本文将深入探讨...
### Java读取Properties文件的六种方法 在Java开发中,`Properties` 文件常用于存储配置信息,如数据库连接字符串、应用配置等。正确且高效地读取这些配置文件对于程序运行至关重要。本文将详细介绍六种不同的方法...
在Java编程中,`properties`文件是一个常用的配置文件格式,用于存储程序的配置信息,如数据库连接字符串、系统参数等。这些文件以键值对的形式组织数据,易于读写。本示例着重介绍如何将时间写入`properties`文件并...
这个"读取properties文件工具类"是为了简化程序中对`.properties`文件的读取操作而设计的。通过这样的工具类,开发者可以方便地加载和获取配置文件中的属性值,避免重复编写相同的代码。下面我们将详细探讨`...
本文将深入探讨如何使用jQuery实现本地文件的读取和文件内容的复制,这对于网页应用中的数据导入、导出或者用户交互功能非常重要。 首先,我们需要明白jQuery本身并不直接支持文件系统的操作,因为它主要是为浏览器...
`diffProperties.java`文件很可能是这个工具的主要实现部分,它可能包含了读取两个properties文件,比较其内容并显示差异数目的逻辑。在Java中,我们可以使用`Properties`类的`entrySet()`方法获取所有键值对,然后...
在这个例子中,我们假设`config.properties`文件中有以下内容: ``` database.name=MyDatabase database.url=jdbc:mysql://localhost:3306/mydb ``` 程序会从`config.properties`文件中读取`database.name`和`...
本文将深入探讨如何在Java中解决Properties文件保存和读取中文乱码的挑战。 首先,我们需要理解Java默认使用ISO-8859-1编码来处理Properties文件。由于此编码不支持大部分中文字符,因此在保存或加载包含中文的...