- 浏览: 541714 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (278)
- freemarker (6)
- flex应用 (12)
- Ext应用 (11)
- 软件 (16)
- java (61)
- 报表 (6)
- 框架基础 (6)
- 登录页面素材 (7)
- oracle (1)
- cas (10)
- lucene (6)
- linux (11)
- 视频 (10)
- springmvc (3)
- 视频服务器相关 (12)
- 开发工具 (7)
- IOS (20)
- 网站相关 (4)
- Java 任务调度系统带图形界面的 (1)
- maven (2)
- android (29)
- hadoop (3)
- SpagoBI (3)
- docx4j (4)
- 多线程 (2)
- storm (2)
- mobile 框架 (3)
- scala (1)
- socket (1)
- saiku (1)
最新评论
-
ZXCLTN:
1.streams目录,在里面放些flv,mp3之类的文件,这 ...
red5 整合到tomcat中(二) -
ZXCLTN:
写的没偷没尾的,还不如提供整个项目下载
red5 整合到tomcat中(二) -
01jiangwei01:
测试方法1:测试50个线 ...
hibernate 乐观锁 测试 -
01jiangwei01:
测试方法1:测试50个线程,同时并发访问。目标:只有一个通过, ...
hibernate 乐观锁 测试 -
xiaobadi:
你每次登陆都是跳到http://localhost:8081/ ...
cas 系统实例 服务端配置(二) 自定义登录
读取属性及其特点
public static void main(String [] arg) { Class clazz = TestAnnotation.class; //testClass.get Map<String, FieldDescriptor> map = fieldDescriptorMap.get(clazz.getName()) ; if (map != null) { System.out.println("不是 null"); } map = new HashMap<String, FieldDescriptor>(); Class<?> c = clazz; Field f = null; FieldDescriptor fd = null; String propertyName = null; System.out.println("ObjectClass = "+Object.class.getName()); while (c != null && !c.getName().equals(Object.class.getName())) { /*** * getPropertyDescriptors(Class c): * Retrieve the property descriptors for the specified class, introspecting and caching them the first time a particular bean class is encountered. * Does not work with DynaBeans. */ PropertyDescriptor[] properties = PropertyUtils.getPropertyDescriptors(c); for (PropertyDescriptor p : properties) { try { //获得此特性的编程名称 propertyName = p.getName(); System.out.println("属性名为:"+propertyName); /** * getDeclaredField(propertyName) * 返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。 * propertyName 参数是一个 String,它指定所需字段的简称。注意,此方法不反映数组类的 length 字段。 */ f = c.getDeclaredField(propertyName); if (f != null) { fd = new FieldDescriptor(); fd.setField(f); /** * p.getReadMethod() * 获得应该用于读取属性值的方法 */ fd.setReadable(p.getReadMethod() != null); /** * p.getWriteMethod() * 获得应该用于写入属性值的方法 */ fd.setWriteable(p.getWriteMethod() != null); } if (!map.containsKey(propertyName)) { map.put(propertyName, fd); } } catch (Exception e) { } } c = c.getSuperclass(); } System.out.println("end"); }
读取属性及方法应用3
import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.Date; import org.apache.commons.beanutils.BeanMap; import org.apache.commons.beanutils.PropertyUtils; import com.company.plat.persistence.util.BaseUtils; public class BeanMapTest { public static void main(String[] args) { TestAnnotation bean = null; BeanMap beanMap = null; Class<?>[] methodParaTypes = null; Method method = null; try { bean = TestAnnotation.class.newInstance(); bean.setAge(11) ; bean.setBirthday(new Date()); bean.setId(1); bean.setName("测试"); bean.setWifeName("秘密"); beanMap = new BeanMap(bean); // PropertyUtils.setProperty(record, propertyName, value); PropertyDescriptor[] properties = PropertyUtils.getPropertyDescriptors(TestAnnotation.class); String propertyName; for(PropertyDescriptor propertie : properties ) { //获得此特性的编程名称 propertyName = propertie.getName(); System.out.println("属性名:"+propertyName); method = null; if (propertyName != null) { //获取set方法 method = beanMap.getWriteMethod(propertyName); } if (propertyName == null || method == null) { continue; } methodParaTypes = method.getParameterTypes(); if (methodParaTypes == null || methodParaTypes.length != 1) { continue; } //判断是否是基本数据类型 if (BaseUtils.isBaseType(methodParaTypes[0])) { System.out.println(methodParaTypes[0].getName()); } //设置值 //PropertyUtils.setProperty(bean, propertyName, null); } } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static <T> Object getValueData(ResultSet rs, String column, Class<T> propertyClass) throws SQLException{ String className = propertyClass.getName(); Object value = null; if (!BaseUtils.isBaseType(propertyClass)) throw new SQLException("Cannot Recognise the data Type, column=" + column + ", type=" + className); if ("java.lang.String".equals(className)) { value = rs.getString(column); } else if ("int".equals(className) || "java.lang.Integer".equals(className)) { value = new Integer(rs.getInt(column)); } else if ("float".equals(className) || "java.lang.Float".equals(className)) { value = new Float(rs.getFloat(column)); } else if ("double".equals(className) || "java.lang.Double".equals(className)) { value = new Double(rs.getDouble(column)); } else if ("long".equals(className) || "java.lang.Long".equals(className)) { value = new Long(rs.getLong(column)); } else if ("short".equals(className) || "java.lang.Short".equals(className)) { value = new Short(rs.getShort(column)); } else if ("byte".equals(className) || "java.lang.Byte".equals(className)) { value = new Byte(rs.getByte(column)); } else if ("boolean".equals(className) || "java.lang.Boolean".equals(className)) { value = new Boolean(rs.getBoolean(column)); } else if ("java.util.Date".equals(className)) { Timestamp t = rs.getTimestamp(column); if (t == null) { value = null; } else { value = new java.util.Date(t.getTime()); } } else if ("java.sql.Timestamp".equals(className)) { value = rs.getTimestamp(column); } else if ("java.sql.Date".equals(className)) { Timestamp t = rs.getTimestamp(column); if (t == null) { value = null; } else { value = new java.sql.Date(t.getTime()); } } else if ("java.lang.BigDecimal".equals(className)) { value = rs.getBigDecimal(column); } else { throw new SQLException("Cannot Recognise the data Type, column=" + column + ", type=" + className); } return value; } }
发表评论
-
AESUtils
2018-01-17 14:13 511import java.io.UnsupportedEnc ... -
lbs比较两点坐标
2018-01-16 09:56 0int distance = (int) (S2LatLng. ... -
java ftp上传文件
2017-12-25 10:43 599工具类: import org.apache.c ... -
redis应用方法
2017-11-30 11:47 5541:统计一段时间内,某 ... -
风控系统1
2017-10-12 18:40 645... -
可以保持session的java代码片段
2017-07-12 21:04 656import java.io.File; impor ... -
ubuntu 搭建开发环境
2015-06-16 15:39 0jdk 可以参看其他网站; export JAVA_HO ... -
主线程等待10秒钟,无应答返回(一)
2015-06-05 15:26 2513场景需求: 其他应用向我们的应用A发来请求,如果应用 ... -
drools书籍
2015-03-13 18:23 964附件中有drools书籍 -
一个Tomcat支持不同的域名访问各自不同程序的配置方法
2015-03-11 09:56 558更多信息可以参考网址:http://329937021.i ... -
netty5 包简读
2015-02-13 18:16 0io.netty.bootstrap; 启动器i ... -
netty5 入门翻译
2015-02-12 18:01 862翻译网页网址:http://n ... -
spring-jms
2015-01-12 11:45 717这里写篇文章记录一下jms持久化到mysqlde 使用方 ... -
git 命令大全
2014-11-12 10:03 713git 学习网址http://git-scm.com/bo ... -
groovy eclipse 插件
2014-10-06 16:58 738eclipse version 4.4.0 groovy ... -
docx4j word 工具类及测试类
2014-10-02 22:14 1546import java.io.ByteArrayInputS ... -
docx4j 替换文本
2014-09-29 11:25 1474采用docx4j 替换word模板内容,并输出进行保存 ... -
docx4j 动态生成表格 (一 )
2014-09-28 19:18 1826使用docx4j模板动态制作表格代码实现过程(一 ),模 ... -
java 开发的各种例子
2014-08-13 17:55 645springmvc + springsecurity 实 ... -
tomcat 根项目部署方式
2014-07-08 09:50 587<Host name="admin.yid ...
相关推荐
随着信息技术和传感器技术的飞速发展,使得遥感图像的数据量呈几何级数的递增,而传统的利用文件指针来读取文件的方法,只能正确读取2GB以下的数据。针对此种情况,提出了新方法,并分析了其关键技术,用VC 给出了...
`file_operation.cpp`很可能是包含实际操作内存映射文件的函数和类的实现,比如打开、关闭、读取和写入文件的操作。而`file_operation.h`则可能定义了相关的类和接口,供其他部分的代码调用,遵循C++的头文件和源...
MySQL是一种广泛使用的开源关系型数据库管理系统,而Java实体类则是将数据库表结构映射到编程语言中的对象,便于进行对象关系映射(ORM)。本话题将详细介绍如何通过原生JDBC连接MySQL数据库,自动获取所有表名并...
这篇博客文章“使用 Spring LDAP 读取数据并映射到 Java Bean 中”主要探讨了如何通过Spring LDAP来查询LDAP目录信息,并将查询结果转换为Java对象,以便在应用程序中进一步处理。 首先,`pom.xml`文件是Maven项目...
映射读取大文件数据是一种将整个文件或者文件的一部分直接映射到内存中的方法,这样可以显著提高对大文件的读写效率。这种方法的核心在于操作系统提供的文件映射功能,它允许程序将文件的内容映射为进程的虚拟地址...
为了有效处理和快速读取超过2GB的数据文件,研究人员提出了一种基于内存映射文件技术的海量影像数据快速读取方法。 #### 内存映射文件技术 内存映射文件技术是一种将磁盘上的文件映射到进程的虚拟地址空间中的方法...
在封装设计中,通常会有一个基类或者抽象类,定义通用的方法如打开、关闭、读取、写入等,然后为Windows和Linux各自实现具体的子类,继承并覆盖这些方法。这样做的好处是代码的可复用性和可维护性得到了提高,同时...
5. **read**:同样,获取映射视图的指针,然后从指定位置读取数据。 6. **expand**:当需要增加文件大小时,可能需要先调用`SetFilePointerEx`(Windows)或`lseek`(Linux)移动文件指针到末尾,然后使用`...
2. **选择要映射的键**:在软件中,你需要选择那个无法正常工作的键,这可能是通过直接输入按键名称,或者通过软件提供的界面元素来完成。 3. **设定映射目标**:然后,选择一个不常用的键或者是组合键(如Ctrl+Alt...
一段读写内存映射数据的代码,对内存映射区域进行读写操作
java利用内存映射读取大文件。并且捉行输出。
4. 读写操作:对于读取操作,可以直接读取映射区域的值;对于写入操作,修改映射区域的值会同步到文件中。需要注意的是,由于内存映射文件可能跨越多个页,所以部分写操作可能导致整个页被刷新到磁盘,这可能会有...
使用每行的字符个数统计和 MD5 两个算法比较内存映射和分块直接读取文件的速度。
反射在处理XML映射时非常有用,因为它可以动态地操作对象,无需在编译时就确定具体的类和方法。 数据库操作通常包括增删查改(CRUD)等基本操作。Java提供了JDBC(Java Database Connectivity)API来与各种数据库...
(2)通过在磁盘空间中开辟虚拟内存,省掉了由磁盘数据到内存空间的步骤,从而提高了数据读取的效率。 点云数据格式特点:点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,包括三维坐标(x,...
2. 创建映射对象:调用CreateFileMapping函数,传入文件句柄和一些属性,如映射大小和访问权限。例如: ```cpp HANDLE hMapFile = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0, NULL); ``` 3. 映射视图:...
"读取文件数据并解析成bean实体类"这一主题涉及到的核心知识点主要包括文件操作、数据解析以及对象映射。下面将详细阐述这些概念及其应用。 1. **文件操作**:文件是数据存储的基本单位,通常以二进制或文本格式...
- **支持大文件**:传统的文件读取方法受制于指针偏移量的限制(即32位操作系统下的2GB限制),而内存映射文件技术通过提供两个32位的参数来表示文件大小或偏移量,能够支持最大达16EB(2^64-1字节)的大文件,极大...
这个类可能会包含打开文件、创建内存映射视图、将文件数据映射到内存、读取映射的内存区域以及关闭文件等方法。为了确保正确读取,需要处理诸如错误检查、文件大小、映射视图大小等细节。 `MemoryMapWriter.cpp`则...