【搞笑+散分】偶尔翻到以前写的Java程序

0153 2011-09-06 07:24:11
照理说是不该发到这里的,但是搞笑无疆界:
package org.phpe;
public interface PCRE {
public String preg_quote(String str);
public boolean preg_match(String pattern, String subject);
public boolean preg_match(String pattern, String subject, array matches);
public int preg_match_all(String pattern, String subject, array matches);
public String[] preg_split(String pattern, String subject, int limit);
public String[] preg_split(String pattern, String subject);
public String preg_replace(String pattern, String replacement, String subject);
public String preg_replace(array pattern, array replacement, String subject);
public String preg_replace_callback(String pattern, String callback, String subject);
public array preg_grep(String pattern, array input);
}

package org.phpe;
import java.util.regex.*;
import java.io.*;
import java.security.*;
abstract class php implements PCRE {
static final String DEFAULT_CHARCODE="ISO-8859-1";
protected String m_CharCode;
protected String m_BaseClass;
protected php() {
m_CharCode=DEFAULT_CHARCODE;
m_BaseClass=null;
}
public void SetCharCode(String charcode) {
m_CharCode=charcode.toString();
}
public void SetBaseClass(String baseclass) {
m_BaseClass=baseclass.toString();
}
public String file_get_contents(String filename, String charcode) {
try {
FileInputStream fp=new FileInputStream(filename);
int size=fp.available();
if (size>0) {
byte []binData=new byte[size];
fp.read(binData);
fp.close();
return new String(binData, charcode);
}
else
fp.close();
}
catch(Exception ex) {
return new String();
}
return new String();
}
public String file_get_contents(String filename) {
return file_get_contents(filename, m_CharCode);
}
public boolean file_put_contents(String filename, String buffer, String charcode) {
try {
FileOutputStream fp=new FileOutputStream(filename);
byte []binData=buffer.getBytes(charcode);
fp.write(binData);
fp.close();
return true;
}
catch(Exception ex) {
return false;
}
}
public boolean file_put_contents(String filename, String buffer) {
return file_put_contents(filename, buffer, m_CharCode);
}
public String[] file(String filename, String charcode) {
try {
String buffer=file_get_contents(filename, charcode);
if (buffer.length()>0) return buffer.split("\\r\\n|[\\r\\n]");
return new String[0];
}
catch(Exception ex) {
return new String[0];
}
}
public String[] file(String filename) {
return file(filename, m_CharCode);
}
public String urlencode(String str, String charcode) {
try {
return java.net.URLEncoder.encode(str, charcode);
}
catch(Exception ex) {
return str;
}
}
public String urlencode(String str) {
return urlencode(str, m_CharCode);
}
public String urldecode(String str, String charcode) {
try {
return java.net.URLDecoder.decode(str, charcode);
}
catch(Exception ex) {
return str;
}
}
public String urldecode(String str) {
return urldecode(str, m_CharCode);
}
public boolean is_file(String filename) {
try {
File fp=new File(filename);
return fp.isFile();
}
catch(Exception ex) {
return false;
}
}
public boolean is_dir(String filename) {
try {
File fp=new File(filename);
return fp.isDirectory();
}
catch(Exception ex) {
return false;
}
}
public boolean file_exists(String filename) {
try {
File fp=new File(filename);
return fp.exists();
}
catch(Exception ex) {
return false;
}
}
public boolean is_array(Object obj) {
try {
return obj.getClass().getName().equals("org.phpe.array");
}
catch(Exception ex) {
return false;
}
}
public boolean isset(String obj) {
try {
return !obj.equals("NULL");
}
catch(Exception ex) {
return false;
}
}
public boolean is_numeric(String obj) {
try {
new Double(obj);
return true;
}
catch(Exception ex) {
return false;
}
}
public int time() {
return (int)(System.currentTimeMillis()/1000);
}
public String implode(String glue, String []pieces) {
try {
StringBuffer buffer=new StringBuffer();
for (int i=0;i<pieces.length;i++) {
if (i>0) buffer.append(glue);
buffer.append(pieces[i]);
}
return buffer.toString();
}
catch(Exception ex) {
return new String();
}
}
public String implode(String glue, array pieces) {
return pieces.implode(glue);
}
public String[] explode(String glue, String str, int limit) {
try {
return str.split(glue.replaceAll("([\\$\\(-\\+\\.\\?\\[-\\^\\{-\\}])", "\\$1"), limit);
}
catch(Exception ex) {
return new String[0];
}
}
public String[] explode(String glue, String str) {
return explode(glue, str, -1);
}
private Pattern preg(String regExp) {
int rightDelimiter=regExp.lastIndexOf(regExp.charAt(0));
String pattern=regExp.substring(1, rightDelimiter);
int flags=0;
for (int i=regExp.length();i>rightDelimiter;) {
i--;
switch(regExp.charAt(i)) {
case 'i':
flags|=Pattern.CASE_INSENSITIVE;
break;
case 's':
flags|=Pattern.DOTALL;
break;
case 'm':
flags|=Pattern.MULTILINE;
break;
}
}
return Pattern.compile(pattern, flags);
}
public String preg_quote(String str) {
try {
return str.replaceAll("([\\$\\(-\\+\\.\\/\\?\\[-\\^\\{-\\}])", "\\$1");
}
catch(Exception ex) {
return str;
}
}
public boolean preg_match(String regExp, String subject) {
try {
return preg(regExp).matcher(subject).find();
}
catch(Exception ex) {
return false;
}
}
public boolean preg_match(String regExp, String subject, array matches) {
try {
Matcher m=preg(regExp).matcher(subject);
if (m.find()) {
int num=m.groupCount();
for (int i=0;i<=num;i++) {
matches.set(i, m.group(i));
}
return true;
}
return false;
}
catch(Exception ex) {
return false;
}
}
public int preg_match_all(String regExp, String subject, array matches) {
try {
int mnum;
Matcher m=preg(regExp).matcher(subject);
for (mnum=0;m.find();mnum++) {
int num=m.groupCount();
for (int i=0;i<=num;i++) {
matches.subArray(i).set(mnum, m.group(i));
}
}
return mnum;
}
catch(Exception ex) {
return 0;
}
}
public String[] preg_split(String regExp, String subject, int limit) {
try {
return preg(regExp).split(subject, limit);
}
catch(Exception ex) {
return new String[0];
}
}
public String[] preg_split(String regExp, String subject) {
return preg_split(regExp, subject, -1);
}
public String preg_replace(String regExp, String replacement, String subject) {
try {
return preg(regExp).matcher(subject).replaceAll(replacement);
}
catch(Exception ex) {
return subject;
}
}
public String preg_replace(array regExps, array replacements, String subject) {
try {
String buffer=new String(subject);
int num=regExps.count();
for (int i=0;i<num;i++) {
buffer=preg_replace((String)regExps.get(i), (String)replacements.get(i), buffer);
}
return buffer;
}
catch(Exception ex) {
return subject;
}
}
public String preg_replace_callback(String regExp, String callback, String subject) {
return subject;
}
public array preg_grep(String regExp, array inputs) {
return inputs;
}
public String htmlspecialchars(String str) {
array srcs=new array();
array objs=new array();
srcs.array_push("/&/s");objs.array_push("&");
srcs.array_push("/\"/s");objs.array_push(""");
srcs.array_push("/'/s");objs.array_push("'");
srcs.array_push("/</s");objs.array_push("<");
srcs.array_push("/>/s");objs.array_push(">");
return preg_replace(srcs, objs, str);
}
public String md5(String str) {
StringBuffer out=new StringBuffer();
try {
MessageDigest md=MessageDigest.getInstance("MD5");
md.update(str.getBytes(DEFAULT_CHARCODE));
byte[] b= md.digest();
for (int i=0;i<b.length;i++) {
out.append(Integer.toHexString((int)((b[i]>>4)&0x0F)));
out.append(Integer.toHexString((int)(b[i]&0x0F)));
}
}
catch(Exception ex) {
out=new StringBuffer();
for (int i=0;i<32;i++) {
out.append('x');
}
}
return out.toString();
}
public int _int(Object obj) {
try {
String str=(String)obj;
return Integer.valueOf(str).intValue();
}
catch(Exception ex) {
return 0;
}
}
public boolean _bool(Object obj) {
try {
String str=(String)obj;
if (str.length()==0||str.equals("0")||str.equalsIgnoreCase("FALSE")||str.equalsIgnoreCase("NULL")) return false;
return true;
}
catch(Exception ex) {
return false;
}
}
public String _string(Object obj) {
if (isset((String)obj)) return (String)obj;
return new String();
}
public String call_user_func(String name) {
return new String(name+"()");
}
abstract void setcookie(String name, String value);
abstract void setcookie(String name);
}
...全文
125 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
谁学逆向工程 2011-09-07
  • 打赏
  • 举报
回复
祝你好运
AndyZhang 2011-09-07
  • 打赏
  • 举报
回复
jfl
jonglin 2011-09-07
  • 打赏
  • 举报
回复
看不懂,过来围观支持~
AnwJiango 2011-09-07
  • 打赏
  • 举报
回复
接分。。。
就想叫yoko 2011-09-07
  • 打赏
  • 举报
回复
楼主指的应该是这些功能已经有现成的工具类实现过了吧
另外楼上有人说这些接口应该整合成一个接口我不认同, 在很多纯面向对象语言中, 接口都是根据实际需求尽可能的多提供, 使得类使用者只关心接口
  • 打赏
  • 举报
回复
JFJF
luciferisnotsatan 2011-09-07
  • 打赏
  • 举报
回复
还是没看懂啥意思。

lz指,这套代码基本都是在用轮子??
xxxxllll 2011-09-07
  • 打赏
  • 举报
回复
不懂,接分
0153 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 babilife 的回复:]

看不懂,求解释!
[/Quote]

当年用这套Java代码加一个PHP脚本实现了PHP网站移植成JSP网站,现在看看自己都想笑。
Java倡导我们不要重复发明轮子,但我认为学习编程就应该把所有的轮子都发明一遍。
游戏设计师 2011-09-06
  • 打赏
  • 举报
回复
- -~这种接口,应该一个就写出来吧~你写这么多也不累~
至善者善之敌 2011-09-06
  • 打赏
  • 举报
回复
看不懂,求解释!
机智的呆呆 2011-09-06
  • 打赏
  • 举报
回复
看不懂。虽然俺写过两年java代码~~
飞天御剑流 2011-09-06
  • 打赏
  • 举报
回复
我笑了
liutengfeigo 2011-09-06
  • 打赏
  • 举报
回复
看不懂.
xunxun 2011-09-06
  • 打赏
  • 举报
回复
我喜欢看《幽游白书》
jackyjkchen 2011-09-06
  • 打赏
  • 举报
回复
劫匪,啊不,接分

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧