`

2009.11.16——java中的日期和jar包问题

阅读更多
2009.11.16——java中的日期和jar包问题
今天要装myEclipse,发现需要一个sn,就让网上去搜,发现了javaeye上的一篇文章,http://duduhehe.iteye.com/blog/464518
没事 就看了下代码,想学习学习,发现里面关于日期处理的好多,就好好看了看,对于java.util.Calendar这个类它的add(field,value) ,field可以为这个类里面定义的一些常量,也可以直接用int数字来表示
add(cal.YEAR,1);//增加一年
或者
add(1,-1);//减少一年

其中:
1-----年-----YEAR
2-----月-----MONTH
5-----日-----DAY_OF_MONTH
4-----周-----WEEK_OF_MONTH
3-----周-----WEEK_OF_YEAR
10----时-----HOUR
11----时-----HOUR_OF_DAY
12----分-----MINUTE 
13----秒-----SECOND

参照 http://blog.sina.com.cn/s/blog_4dd53ed40100dn9l.html

这个破解myEclipse的程序,如下:
package test;//打包时注意了 必须要有包名字的
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class Test{
	public static void main(String[] args){
		String userId = "mengmeng";//用户名 随便写
		String version = "100";
		String licenseNum = "666";//这两个估计都是三位的
		Calendar cal = Calendar.getInstance();
		System.out.println(cal.SECOND);
		//System.out.println(cal.get(cal.YEAR) + "年" + cal.get(cal.MONTH) + "月" + cal.get(cal.DAY_OF_MONTH) + "日" + cal.get(cal.HOUR_OF_DAY) + ":" + cal.get(cl.MINUTE) + ":" + cal.get(cal.SECOND));
  	cal.add(1, 2);//加两年
  	cal.add(6, -1);//减一个月
		//System.out.println(cal.get(cal.YEAR) + "年" + cal.get(cal.MONTH) + "月" + cal.get(cal.DAY_OF_MONTH) + "日" + cal.get(cal.HOUR_OF_DAY) + ":" + cal.get(cal.MINUTE) + ":" + cal.get(cal.SECOND));
		//System.out.println("================================");
		boolean selected = true;
		//System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime()));
		//System.out.println("================================");
		String verTime = selected ? (new StringBuffer("-")).append(
    (new SimpleDateFormat("yyMMdd")).format(cal.getTime())).append(
    "0").toString() : "-1012310";
    //System.out.println(verTime);
    //System.out.println("================================");
    String type = "YE3MB-";
  	String need = (new StringBuffer(String.valueOf(userId.substring(0, 1))))
    .append(type).append(version).append(licenseNum)
    .append(verTime).toString();
    //System.out.println(need);
    //System.out.println("================================");
    String dx = (new StringBuffer(String.valueOf(need)))
    .append(
      "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.")
    .append(userId).toString();
    //System.out.println(dx);
    //System.out.println("================================");
    int i = 0;
  	char ac[] = dx.toCharArray();
  	int j = 0;
  	for (int k = ac.length; j < k; j++){
  		//System.out.print(ac[j]+" ");
   		i = 31 * i + ac[j];
   	}
   	int suf = Math.abs(i);//取绝对值
   	//System.out.println(suf);
   	//System.out.println("================================");
   	String code = (new StringBuffer(String.valueOf(need))).append(
    							String.valueOf(suf)).toString();
    //System.out.println(code);
    //System.out.println("================================");
    
    byte abyte0[] = code.getBytes();
	  char ac2[] = new char[code.length()];
	  i = 0;
	  for (int k = abyte0.length; i < k; i++) {
			j = abyte0[i];
		  //System.out.print(j);
		  //System.out.print("==");
		  //加密规则
		  if (j >= 48 && j <= 57)//0-9
		    j = ((j - 48) + 5) % 10 + 48;
		  else if (j >= 65 && j <= 90)//小写字母
		    j = ((j - 65) + 13) % 26 + 65;
		  else if (j >= 97 && j <= 122)//大写字母
		    j = ((j - 97) + 13) % 26 + 97;
		  ac2[i] = (char) j;
		  //System.out.print(j);
		  //System.out.println();
	  }
	  System.out.println(String.valueOf(ac2));
		}	
}


就是后来想打包成一个可执行的jar包,一直打包不成功,后来参照http://hi.baidu.com/matrixlife/blog/item/90a9a882599cb0aa0cf4d2b6.html

大致过程如下:

1.程序必须有包结构,即在java文件中有package test;
2.写一个manifest.mf,格式如下:
Manifest-Version: 1.0
Main-Class: test.Test

其中的test.Test是main函数的class文件路径
3.使用打包命令的文件层
-tt
 --test
  ---Test.class
 --manifest.mf
在tt文件夹下面执行
jar cvfm test.jar manifest.mf test  
其中test.jar是jar包名字,最后的test是最外层的包结构
4.运行:java -jar test.jar 


注意:1.打包的对象是class文件
      2.双击运行会没有什么显示,那是因为你没有图像界面,要想有显示的话,要写图像化界面的代码。
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics