java
文章平均质量分 66
free0006
这个作者很懒,什么都没留下…
展开
-
获取真实IP地址包括代理
通过Serlet API获取客户端的真实ip public String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if(ip == null || ip.length() == 0 || "unknown".equalsIgn...原创 2014-11-12 09:20:26 · 443 阅读 · 0 评论 -
Java使用Robot操作键盘和鼠标
Java提供操作键盘和鼠标的API,在java.awt.*包中,官方API参见此处,下面是个简单的例子: package com.yeetrack.robot; import javax.imageio.ImageIO; import java.awt.*; import java.awt.event.InputEvent; import ...原创 2014-02-09 08:26:51 · 790 阅读 · 0 评论 -
HttpClient 4.3教程 第六章 HTTP缓存
6.1.基本概念HttpClient的缓存机制提供一个与HTTP/1.1标准兼容的缓存层 – 相当于Java的浏览器缓存。HttpClient缓存机制的实现遵循责任链(Chain of Responsibility)设计原则,默认的HttpClient是没有缓存的,有缓存机制的HttpClient可以用来临时替代默认的HttpClient,如果开启了缓存,我们的请求结果就会从缓存中获...原创 2014-02-09 08:26:06 · 410 阅读 · 0 评论 -
HttpClient4.3 教程 第五章 快速API
5.1.Easy to use facade APIHttpClient从4.2开始支持快速api。快速api仅仅实现了HttpClient的基本功能,它只要用于一些不需要灵活性的简单场景。例如,快速api不需要用户处理连接管理和资源释放。下面是几个使用快速api的例子: // 执行一个get方法,设置超时时间,并且将结果变成字符串 Request.Get("...原创 2014-02-09 08:25:37 · 180 阅读 · 0 评论 -
HttpClient4.3教程 第四章 HTTP认证
HttpClient既支持HTTP标准规范定义的认证模式,又支持一些广泛使用的非标准认证模式,比如NTLM和SPNEGO。4.1.用户凭证任何用户认证的过程,都需要一系列的凭证来确定用户的身份。最简单的用户凭证可以是用户名和密码这种形式。UsernamePasswordCredentials这个类可以用来表示这种情况,这种凭据包含明文的用户名和密码。这个类对于HTTP标准规范中定...原创 2014-02-08 12:03:02 · 520 阅读 · 0 评论 -
HttpClient4.3教程 第三章 Http状态管理
最初,Http被设计成一个无状态的,面向请求/响应的协议,所以它不能在逻辑相关的http请求/响应中保持状态会话。由于越来越多的系统使用http协议,其中包括http从来没有想支持的系统,比如电子商务系统。因此,http支持状态管理就很必要了。当时的web客户端和服务器软件领先者,网景(netscape)公司,最先在他们的产品中支持http状态管理,并且制定了一些专有规范。后来,网景通过发规...原创 2014-02-08 12:02:20 · 245 阅读 · 0 评论 -
HttpClient4.3教程 第二章 连接管理
2.1.持久连接两个主机建立连接的过程是很复杂的一个过程,涉及到多个数据包的交换,并且也很耗时间。Http连接需要的三次握手开销很大,这一开销对于比较小的http消息来说更大。但是如果我们直接使用已经建立好的http连接,这样花费就比较小,吞吐率更大。HTTP/1.1默认就支持Http连接复用。兼容HTTP/1.0的终端也可以通过声明来保持连接,实现连接复用。HTTP代理也可以在一...原创 2014-02-08 11:59:04 · 286 阅读 · 0 评论 -
HttpClient 4.3教程 第一章 基本概念
1.1. 请求执行HttpClient最基本的功能就是执行Http方法。一个Http方法的执行涉及到一个或者多个Http请求/Http响应的交互,通常这个过程都会自动被HttpClient处理,对用户透明。用户只需要提供Http请求对象,HttpClient就会将http请求发送给目标服务器,并且接收服务器的响应,如果http请求执行不成功,httpclient就会抛出异样。下面是个很简...原创 2014-02-08 10:26:12 · 165 阅读 · 0 评论 -
使用正则表达式过滤HTML中标签
package com.tan.code;import java.util.regex.Pattern;public class DeleteHtml { //去掉文本中的html标签 public static class HtmlText { public static String Html2Text(String inputString) { ...原创 2014-02-08 10:20:46 · 662 阅读 · 0 评论 -
JXL读取Excel中的数据
jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不 依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且 仅仅...2014-06-08 17:41:24 · 173 阅读 · 0 评论 -
Accept-Encoding
HTTP Header中Accept-Encoding 是浏览器发给服务器,声明浏览器支持的编码类型的。 常见的有 Accept-Encoding: compress, gzip //支持compress 和gzip类型 Accept-Encoding: //默认是identity ...原创 2014-01-08 15:02:43 · 3113 阅读 · 0 评论 -
Java复制文件的几种方法
不考虑多线程优化,单线程文件复制最快的方法是(文件越大该方法越有优势,一般比常用方法快30+%): Java代码 private static void nioTransferCopy(File source, File target) { FileChannel in = null; FileChannel out = null...原创 2013-08-06 12:19:39 · 98 阅读 · 0 评论 -
Fastjson Java的JSON处理器
Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。1、遵循http://json.org标准,为其官方网站收录的参考实现之一。2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。4、开源,使用Apache License...原创 2014-02-09 08:27:04 · 147 阅读 · 0 评论 -
HttpClient4.3学习之EntityUtils对象
最近使用HttpClient4.3开源包,发现了EntityUtils这个对象,EntityUtils对象是org.apache.http.util下的一个工具类,用官方的解释是为HttpEntity对象提供的静态帮助类,其常用的几个方法如下: consume()方法; consumeQuietly(HttpEntity)方法 ...2014-02-10 09:00:26 · 1063 阅读 · 0 评论 -
Java数字转字符串前面自动补0的实现
/** * Java里数字转字符串前面自动补0的实现。 * */ public class TestStringFormat { public static void main(String[] args) { int youNumber = 1; // 0 代表前面补充0 // 4 代表长...原创 2014-10-22 21:52:38 · 177 阅读 · 0 评论 -
Java GZIP压缩的使用
为了减小服务器负担,传递字符串内容通常要进行压缩,同时也能增强传输的速度,在java中GZIP压缩基本实现代码如下: /** * 将压缩字符串解压为字符串 * @param file 压缩文件 * @return 解压为字符串 * @throws Exception */ public static String deCompressString(Fi...2014-04-23 19:43:19 · 294 阅读 · 0 评论 -
java 二进制,八进制,十进制,十六进制间相互转换的方法
int n1 = 14; //十进制转成十六进制: Integer.toHexString(n1); //十进制转成八进制 Integer.toOctalString(n1); //十进制转成二进制 Integer.toBinaryString(12); //十六进制转成十进制 Integer.valueOf("FFFF",16).t...原创 2014-04-22 21:57:40 · 190 阅读 · 0 评论 -
StringEscapeUtils的使用
StringEscapeUtils是apache commons-lang(2.3以上版本)为我们提供了一个方便做转义的工具类,可以对HTML、Unicode、JavaScript等字符串进行转义,其方法如下: 例如对Unicode编码转换可以使用: System.out.println(StringEscapeUtils.escapeJava("中国"));...原创 2014-08-19 17:14:21 · 602 阅读 · 0 评论 -
Java 从Jar文件中动态加载类
从Style.jar中加载程序所需要的样式其中Style.jar中有一个MyStyle的类实现了一个StyleInterface的接口接口代码如下:public interface StyleInterface { public String getStyle();}MyStyle类的代码如下:public class MyStyle implements S...原创 2014-08-18 15:10:56 · 194 阅读 · 0 评论 -
Java使用Jaudiotagger读取Mp3及Flac音频操作
Jaudiotagger是jid3lib的扩展,比jlid3lib强大更多,支持更多格式。MP3信息的读取: try { MP3File file = new MP3File("mmt/sdcard2/Music/大艺术家.mp3"); String songName=file.getID3v2Tag().frameMap.get("TIT2").toString(...2015-01-31 15:28:35 · 2682 阅读 · 0 评论 -
Jaudiotagger Java音频视频操作
Jaudiotagger Java音频视频操作jaudiotagger是音频标签库中的音频文件的标记数据。目前完全支持MP3,MP4(MP4音频,M4A,M4P Ogg Vorbis音频),FLAC和WAV和WMA,但真正支持的格式有限。提供最流行的三十个属性都完全支持格式的通用接口支持读取和写入MP4,M4A和mp4p(保护)的文件,包括多个图像和反向DNS域支持多...2015-01-31 15:21:20 · 3010 阅读 · 0 评论 -
FFmpeg对视频音频转换操作
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Win...2015-01-31 14:52:32 · 2153 阅读 · 1 评论 -
Java Sigar JNI收集硬件信息
Hyperic-Sigar是一个收集系统各项底层信息的工具集.他有如下特点:1. 收集信息全面收集CPU,MEM,NETWORK,PROCESS,IOSTAT等使用Sigar,你完全可以模仿出cpuinfo,meminfo,top,free,ifconfig,ipconfig,netstat,route,df,du,ps,ls等多种unix平台和windows平台的指令.2.跨平台,支持多数平...原创 2015-01-26 10:57:24 · 232 阅读 · 0 评论 -
Java获取Windows硬件信息
Java获取Windows硬件信息 /** * @param drive 硬盘驱动器分区 如C,D * @return 该分区的卷标 */ public static String getHDSerial(String drive) { String result = ""; try { File file = File.crea...2015-01-26 10:54:51 · 1004 阅读 · 0 评论 -
通过UserAgent判断智能手机(设备,Android,IOS)
通过 Agent 来判断相应的智能手机设备,然后跳转到新的手机站点经过不懈的努力,终于搜集了比较全的 智能设备 的 Agent,然后又写了程序,直接上代码吧,希望能帮助到你 /// 根据 Agent 判断是否是智能手机 ///</summary> ///<returns></returns> pub...原创 2014-02-14 13:51:52 · 1456 阅读 · 0 评论 -
如何将文本中的Unicode转换成中文
Unicode 是为了解决传统的字符编码方案的局限而产生的,例如ISO 8859所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不兼容的情况。很多传统的编码方式都有一个共同的问题,即容许电脑处理双语环境(通常使用拉丁字母以及其本地语言),但却无法同时支持多语言环境(指可同时处理多种语言混合的情况)。/*** unicode 转换成 中文* @param ...2014-05-12 14:32:56 · 5457 阅读 · 0 评论 -
python与java 时间戳的区别与转换
和java不同的是在python下获取的时间戳是有小数点的浮点数,而在java中用new Date()获取的时间戳是一个整数,那么如果你想对JAVA生成的时间戳转换成python的话除以1000就可以了 获取当前时间的时间戳:import timetime.time() 获取特定时间的时间戳:import datetime,time s=datetime.dat...原创 2014-05-09 19:08:39 · 2297 阅读 · 0 评论 -
fileutils 学习二
1 我写的小例子 通配符过滤目录下的文件File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("*test*.java~*~"); File[] files = dir.listFiles(fileFilter); for (int i = 0; i < ...原创 2012-09-19 12:57:42 · 191 阅读 · 0 评论 -
commons FileUtils 学习一
利用 org.apache.commons.io.FileUtils快速读写文件 String fileName = "C://11.txt"; File file = new File(fileName); String fileContent = ""; try { fileContent = org.apache.commons.io.FileUtils.readFile...原创 2012-09-19 12:56:56 · 106 阅读 · 0 评论 -
Java代码注释XXX todo fixme 的意义
特殊注释:1 TODO表示需要实现,但目前还未实现的功能2 XXX勉强可以工作,但是性能差等原因3 FIXME代码是错误的,不能工作,需要修复 TODO: + 说明:如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME: + 说明:如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在...原创 2013-06-14 09:39:44 · 253 阅读 · 0 评论 -
Java日志处理之slf4j使用
SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。 slf4j是日志的接口,只定义了一些方法而没有去实现,但可以自己配置所使用的具体实现对象,如Log4j、...2013-06-13 12:09:29 · 301 阅读 · 0 评论 -
BASE64与单向加密算法MD5&SHA&MAC
如基本的单向加密算法:BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码) 复杂的对称加密(DES、PBE)、非对称加密算法:...原创 2012-09-10 10:15:58 · 123 阅读 · 0 评论 -
正则表达式Matcher 的group()与group(int group)
grouppublic String group()返回由以前匹配操作所匹配的输入子序列。对于具有输入序列 s 的匹配器 m,表达式 m.group() 和 s.substring(m.start(), m.end()) 是等效的。 注意,某些模式(例如,a*)匹配空字符串。当模式成功匹配输入中的空字符串时,此方法将返回空字符串。 指定者: 接口 MatchRe...原创 2012-09-03 14:43:39 · 452 阅读 · 0 评论 -
JNI学习--Java监听器全局监控
1.前段时间,闲来无聊,想做个像QQ截图一样的截图工具,在却在做的过程中发现java自带API中的监听器带有很大的局限性,java的鼠标监听器只有在鼠标在程序窗口之上时才会生效,而键盘监听器则更加局限,只有在当前窗口为焦点窗口时才会生效,这显然是不符合我们需要效果的,我们所需要的是全局的键盘监听,不管你在干什么,只要触发我们设定的固定的组合键是,就会执行我们需要的功能,所以用java是不太好办。...原创 2013-05-15 08:34:46 · 866 阅读 · 0 评论 -
Java将指定的字符串编译Class对象执行
Java将指定的字符串编译Class对象执行,程序主要使用了JDK提供的Tools.jar工具实现,如果没有Tools.jar要将jdk的lib中的tools.jar复制到jre的lib中。 package junit.test;import java.io.File;import java.lang.reflect.Method;import java.net.UR...2013-05-13 10:00:20 · 706 阅读 · 0 评论 -
java的System.getProperty()方法获取系统属性的值
java.versionJava 运行时环境版本java.vendorJava 运行时环境供应商java.vendor.urlJava 供应商的 URLjava.homeJava 安装目录java.vm.specification.versionJava 虚拟机规范...原创 2013-05-13 08:49:58 · 255 阅读 · 0 评论 -
打jar包时将log4j配置文件放在jar包外的方法
在eclipse中默认将log4j的配置文件放在src文件夹下,程序可以直接读取到配置文件,并以配置文件的配置输入日志。但是在将程序发布是,默认log4j的配置文件也要一同被打入jar包才可能被读取到,要想将log4j的配置文件放在jar包外可以通过以下的代码手动指定log4j配置文件的位置,将以下代码放在main函数所在类中: Java代码 static...原创 2012-07-05 10:50:18 · 401 阅读 · 0 评论 -
Java BASE64加密解密
标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; ...原创 2012-10-22 20:56:58 · 154 阅读 · 0 评论 -
如何将swt程序的jar文件转换成EXE可执行文件
如何将swt程序的jar文件转换成EXE可执行文件,本文使用开源工具jsmooth-0.9.9-7实现,下载地址: http://sourceforge.net/projects/jsmooth/files/jsmooth/ 附近提供的是最新的 jsmooth-0.9.9-7版本 1.程序生成jar文件(我用的是eclipse + fatjar ) 2.安装后,执行JSmoothGen进入主界面,...原创 2013-07-04 16:08:10 · 389 阅读 · 0 评论 -
JAVA调用系统方法打开网页
JAVA调用系统方法打开网页:import java.lang.reflect.Method;public class URLOpener { public static void openURL(String url) { String osName = System.getProperty("os.name"); try { if (osNam...原创 2013-12-19 14:48:07 · 229 阅读 · 0 评论