如何得到jar包的运行路径? 如果没有这个路径,我们读取文件可能找不到路径,写文件可能写到别的目录里了! 而且,调试代码时我们需要eclipse里的命令行里运行,而不需要打包;最终发布时我们需要打成jar包!所以,这部分代码应该要支持以上两种形式。
在 java 中, System.getProperty("user.dir") 得到的是当前工作路径(对应命令行命令就是 linux 下的 pwd 、 windows 下的 cd ),而 System.getProperty("user.home") 得到的是当前用户主目录(对应于 linux 下的 ~ 目录、 windows 下的 document and settings\username );但如果你想得到所运行的 java 程序所在的路径,似乎并没有什么简单的方法。
学习Struts2
基于WEB的J2EE报表解决方案集锦 1 Finereport http://www.finereport.com/ 2 JReport http://www.jinfonet.com/
出现的问题: 在读第一个文件的时候一切正常,但是在读另一个从网页中“另存为Excel文件”的Excel文件时候出现以下异常: 1、POI的异常说明:org.apache.poi.hssf.record.RecordInputStream$LeftoverDataException: Initialisation of record 0x86 left 2 bytes remaining still to be read. 2、JXL的异常说明:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的细节。JCL提供的接口,对其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,进行了简单的包装,此接口更接近于Log4J和LogKit的实现。
Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口,它自身的日志功能平常弱(只有一个简单的SimpleLog?),所以一般不会单独使用它。Log4j的功能非常全面强大,是目前的首选。我发现几乎所有的Java开源项目都会用到Log4j,但我同时发现,所有用到Log4j的项目一般也同时会用到commons-loggin。我想,大家都不希望自己的项目与Log4j绑定的太紧密吧。另外一个我能想到的“同时使用commons-logging和Log4j”的原因是,简化使用和配置。
文件上传异常直接带来两个问题: 1、在页面上显示了英文的错误信息。这样的信息显然不是我们想要的。 2、由于错误的产生,原来页面上输入的其他文本内容也都不见了,也就是说params注入失败。
java api 全集 【API JDK1.6中文版】 2008年04月14日 下午 04:36
本文主要是为了自己以查阅用。 简要说明: 正则表达式很强大,不过比较古怪也有些复杂。一般而言要记住那些正则表达式操作符是很考验记忆力的,所以收集总结了以下这些正则表达式操作符,希望对大家有所帮助。
当我还是孩子的时候,学习编程需要用到穿孔卡片(punched cards)。那时可没有任何类似"退格"键(Backspace key)这样的现代化功能,如果你出错了,就没有办法更正,只好扔掉出错的卡片,从头再来。 回想1991年,我开始面试程序员的时候。我一般会出一些编程题,允许用任何编程语言解题。在99%的情况下,面试者选择C语言。 如今,面试者一般会选择Java语言。
原文地址:http://www.javaeye.com/topic/290321 请大家点上面的超链接访问原文,里面的内容是我私人用来留存的!
本方将介绍正则表达式的强大功能。只要正确运用正则表达式,便能够在字符串提取和文本修改中起到很大的作用。另外还介绍了如何在Java程序中通过Jakarta-ORO库利用正则表达式。学习后,您可在日后的工作中,根据环境随时切换字符串处理方式(使用StringTokenizer,charAt,和substring),或正则表达式。
JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。这说明Java已经有大幅度的变化。本文将讲解JDK5.0支持的新功能-----Java的泛型.
递归的主要优点在于:某些类型的算法采用递归比采用迭代算法要更加清晰和简单。例如快速排序算法按照迭代方法是很难实现的。还有其他一些问题,特别是人工智能问题,就依赖于递归提供解决方案。最后,有些人认为递归要比迭代简单。 当一个方法调用它自身的时候,堆栈就会给新的局部变量和自变量分配内存,方法代码就带着这些新的变量从头执行。递归调用并不产生方法新的拷贝。只有参数是新的。每当递归调用返回时,旧的局部变量和自变量就从堆栈中清除,运行从方法中的调用点重新开始。递归方法可以说是像“望远镜”一样,可以自由伸缩。
递归函数,即是调用一个函数的过程中出现直接或简介的调用该函数本身.此种函数就称为递归函数 递归函数的优点是程序简洁易懂,可读性强;缺点是需要调用大量的函数调用,消耗大量的内存和时间 一般来说,递归由函数出口和递归体两部分组成,递归出口给出了递归终止条件,递归体给出了递归的方式.
JAVA相关基础知识 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。 ....... ....... 首先要说的是,使用jdk+tomcat完全可以配置我们的jsp服务器,不再需要其实任何东东,有很多文章介绍了Apache,其实根本用不着,一般的学习调试tomcat完全可以胜任了。
多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。
彻底理解this 关键字的含义 this关键字再java里面是一个我认为非常不好理解的概念,:)也许是太笨的原因 this 关键字的含义:可为以调用了其方法的那个对象生成相应的句柄。 怎么理解这段话呢? thinking in java里面有这么一个例子 有两个同一个类型的对象,分别叫做a和b,那我们怎样区别在调用方法f()的时候,是谁再调用这个方法呢?
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号