java小积累(转)

来源:互联网 发布:软件研发工作流程 编辑:程序博客网 时间:2024/05/02 07:00

                                                                                  java小积累

获取当前时间,获取200天以前的时间

------------------------------------------------------------------------------------------------------------------------------
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.Date;
class TimeSub
{
public static void main(String[] args)
{
Date now = new Date();
SimpleDateFormat time=new SimpleDateFormat("yyyyMMdd");
System.out.println(time.format(now ));
int year_int=(new java.lang.Integer(time.format(now).substring(0,4))).intValue();
int month_int=(new java.lang.Integer(time.format(now).substring(4,6))).intValue()-1;/*这里月份要减一,因为,java里面0表示一月份*/
int day_int=(new java.lang.Integer(time.format(now).substring(6,8))).intValue();
GregorianCalendar worldTour = new GregorianCalendar(year_int,month_int,day_int);
//worldTour.add(7,-200);/*这里7标识安日偏移,1是年,2是月,负号标识向前偏移200天*/
worldTour.add(7,-1);/*这里7标识安日偏移,1是年,2是月,负号标识向前偏移200天*/
SimpleDateFormat time1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
Date d = worldTour.getTime();
System.out.println(time1.format(d));
}
}
------------------------------------------------------------------------------------------------------------------------------

int year_int=2006
int month_int=11
int day_int=8
这个值传到java里面,表示的是20061208.,他的月份是从0开始的.

------------------------------------------------------------------------------------------------------------------------------
<%@page import="java.sql.*,java.io.*,java.util.*,java.text.*" contentType="text/html;charset=gbk" %>
<%
    SimpleDateFormat setDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
   /* 时:分:秒   HH:mm:ss   HH : 23小时制 (0-23)
                             kk : 24小时制 (1-24)
                             hh : 12小时制 (1-12)
                             KK : 11小时制 (0-11)*/

    String temp = setDateFormat.format(Calendar.getInstance().getTime());
%>
------------------------------------------------------------------------------------------------------------------------------

public static String getTime(){
String t=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(java.util.Calendar.getInstance().getTime());
return t;
}
public static String getTime(String formats){
String t=new java.text.SimpleDateFormat(formats).format(java.util.Calendar.getInstance().getTime());
return t;
}
------------------------------------------------------------------------------------------------------------------------------

 
JAVA中int、String的类型转换

第一种方法:s=i+"";   //会产生两个String对象
第二种方法:s=String.valueOf(i); //直接使用String类的静态方法,只产生一个对象

第一种方法:i=Integer.parseInt(s);//直接使用静态方法,不会产生多余的对象,但会抛出异常
第二种方法:i=Integer.valueOf(s).intValue();//Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象


过滤HTML标记

-------------------------------------------------------------------------------------------------------------------------------
public static String inHTML(String str){
if(str==null) str= "";
str=str.replaceAll("&", "&amp;");
str=str.replaceAll("<", "&lt;");
str=str.replaceAll(">", "&gt;");
str=str.replaceAll("/"", "&#34;");   //&#34; &quot; 一样的  
str=str.replaceAll("'", "&#39;");
str=str.replaceAll(" ", "&nbsp;");
return str;
}
public static String inHTML(String str,int i){   //0:替换换行   1:替换中文字符的单双引号
if(str==null) str= "";
str=str.replaceAll("&", "&amp;");
str=str.replaceAll("<", "&lt;");
str=str.replaceAll(">", "&gt;");
str=str.replaceAll(" ", "&nbsp;");
if(i==0){
   str=str.replaceAll("/"", "&#34;");
   str=str.replaceAll("'", "&#39;");
   str=str.replaceAll("/n","<br />");
}else{
   str=str.replaceAll("/"", "”");
   str=str.replaceAll("'","’");
}
return str;
}
-------------------------------------------------------------------------------------------------------------------------------

如何将一个字符串如“技术性问题”转化成十六进制,反过来,如果有一个十六进制的字符串如“3F3F3A”,又如何将它还原成字符串

String content="技术性问题";
StringBuffer sb=new StringBuffer();
for(int i=0;i<content.length();i++)
sb.append(Integer.toHexString(content.charAt(i)));

public class Test {

public Test() {
}
public static void main(String[] args) {
String Digital="0123456789ABCDEF";
String content="技术性问题";
StringBuffer sb=new StringBuffer("");
byte[] bs=content.getBytes();
int bit;
for(int i=0;i<bs.length;i++){
bit=(bs[i]&0x0f0)>>4;
sb.append(Digital.substring(bit,bit+1));
bit=bs[i]&0x0f;
sb.append(Digital.substring(bit,bit+1));
}
System.out.println(sb);

String b="BCBCCAF5D0D4CECACCE2";
byte[] bytes=new byte[b.length()/2];
int temp;
for(int i=0;i<bytes.length;i++){
temp=Digital.indexOf(b.substring(2*i,2*i+1))*16;
temp+=Digital.indexOf(b.substring(2*i+1,2*i+2));
bytes[i]=(byte)(temp&0xff);
}
System.out.println(new String(bytes));

}
}

 

---------------------------------------------------------------------------------------------------------------------------------

关于request.getHeader("Referer")的说明
request.getHeader("Referer")获取来访者地址。只有通过链接访问当前页的时候,才能获取上一页的地址;否则request.getHeader("Referer")的值为Null,通过window.open打开当前页或者直接输入地址,也为Null。


关于request.getHeader("referer") 的用法
当判断访问从哪里来可以用这个方法得到,具体可以用作防盗以及统计访问来源,例如判断当前有多少是从百度来有多少是从google来。以及当前访问是否是从指定的几个网站来。

 

--------------------------------------------------------------------------------------------------------------------------------

java正则表达式:
(?i)abc 表示abc都忽略大小写
a(?i)bc 表示bc忽略大小写
a((?i)b)c 表示只有b忽略大小写

也可以用Pattern.compile(rexp,Pattern.CASE_INSENSITIVE)表示整体都忽略大小写


 

********************************************************************************************************************************
getParameterNames()方法

String name;
Enumeration test=request.getParameterNames();
while(test.hasMoreElements()){
name=(String)test.nextElement();
out.println(name+"="+request.getParameter(name));
out.println("<br>");
}

原创粉丝点击