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

2009.11.16——java中的日期和jar包问题
今天要装myEclipse,发现需要一个sn,就让网上去搜,发现了javaeye上的一篇文章,[url]http://duduhehe.iteye.com/blog/464518[/url]
没事 就看了下代码,想学习学习,发现里面关于日期处理的好多,就好好看了看,对于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

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

这个破解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包,一直打包不成功,后来参照[url]http://hi.baidu.com/matrixlife/blog/item/90a9a882599cb0aa0cf4d2b6.html[/url]

大致过程如下:

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


[color=red]注意:1.打包的对象是class文件
2.双击运行会没有什么显示,那是因为你没有图像界面,要想有显示的话,要写图像化界面的代码。[/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值