2010 - 01 - 15
package com.jview.main; import java.util.Date; import java.util.Timer; import java.util.TimerTask; import org.apache.log4j.Logger; public class StartThread extends Thread { private static Logger logger = Logger.getLogger("StartThread"); public static final int EXECUTE_CYC = 86400000; //24*60*60*1000毫秒 int startH = 9; int startM = 52; private Timer _timer ; private Date _statDate; private Date _nowDate; public StartThread(){ _nowDate = new Date(); _timer = new Timer(); _statDate = new Date(_nowDate.getYear(),_nowDate.getMonth(),_nowDate.getDate(),startH,startM); } public void StartUp(){ _timer.schedule( new TimerTask() { public void run() { logger.info("开始统计..."); try { Class.forName("com.jview.stat.StatPlan").newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } },_statDate,EXECUTE_CYC); } public static void main(String[] args) { StartThread _statUp = new StartThread(); _statUp.StartUp(); } }
package com.jview.stat; import java.util.Calendar; import org.apache.log4j.Logger; public class StatPlan { private static Logger logger = Logger.getLogger("StatPlan"); private int i = 0; private StatPlanService _sps ; public StatPlan(){ _sps = new StatWeekPlan(); statPlan(); } public void statPlan(){ Calendar _c = Calendar.getInstance(); logger.info("stat plan ... 执行"+ i +"次,时间:"+_c.getTime()); _sps.StatPlan(); i++; for(int i = 0; i<9999;i++){ if(i==0 || i== 9998){ logger.info(""+i); } } } }
import org.apache.log4j.Logger; public class StatWeekPlan extends StatPlanService { private static Logger logger = Logger.getLogger("StatWeekPlan"); public void StatPlan(){ logger.info("this is statWeekPlan"); } } <4>StatPlanService .java public class StatPlanService { public void StatPlan(){ } }
import java.util.Date; import java.util.Timer; import java.util.TimerTask; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.apache.log4j.Logger; public class SysStatListener implements ServletContextListener{ private static Logger logger = Logger.getLogger("ListByDayListener"); private StatTask _sTask; public void contextDestroyed(ServletContextEvent scevent) { String status = "停止系统统计线程"; scevent.getServletContext().log(status); logger.info(status); _sTask.shutDown(); } public void contextInitialized(ServletContextEvent scevent) { String status = "启动系统统计线程"; scevent.getServletContext().log(status); logger.info(status); _sTask = new StatTask(); _sTask.startUp(); } }
import java.util.Date; import java.util.Timer; import java.util.TimerTask; import org.apache.log4j.Logger; public class StatTask extends Thread { private static Logger logger = Logger.getLogger("StartThread"); public static final int EXECUTE_CYC = 86400000; int startH = 9; int startM = 52; private Timer _timer ; private Date _statDate; private Date _nowDate; public StatTask(){ _nowDate = new Date(); _timer = new Timer(); _statDate = new Date(_nowDate.getYear(),_nowDate.getMonth(),_nowDate.getDate(),startH,startM); } public void startUp(){ _timer.schedule( new TimerTask() { public void run() { logger.info("开始统计..."); try { Class.forName("com.jview.stat.StatPlan").newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } },_statDate,EXECUTE_CYC); } public void shutDown(){ _timer.cancel(); }
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegularExpression { public static void main(String[] args) { // 简单认识正则表达式的概念 // p("abc".matches("...")); // p("a8729a".replaceAll("//d", "-")); // Pattern p = Pattern.compile("[a-z]{3}"); // Matcher m = p.matcher("fgh"); // p(m.matches()); // p("aaas".matches("[a-z]{3,}")); // 初步认识. * + ? // p("a".matches(".")); // p("aa".matches("aa")); // p("aaaa".matches("a*")); // p("aaaa".matches("a+")); // p("".matches("a*")); // p("aaaa".matches("a?")); // p("".matches("a?")); // p("a".matches("a?")); // p("214523145234532".matches("//d{3,100}")); // p("192.168.0.231".matches("//d{1,3}//.//d{1,3}//.//d{1,3}//.//d{1,3}")); // p("192".matches("[0-2][0-9][0-9]")); // 范围 // p("a".matches("[abc]")); // p("a".matches("[^abc]")); // p("A".matches("[a-zA-Z]")); // p("a".matches("[a-z]|[A-Z]")); // p("A".matches("[a-z[A-Z]]")); // p("R".matches("[A-Z&&[RFG]]")); // 认识/s /w /d / // p(" /n/r/t".matches("//s{4}")); // p(" ".matches("//S")); // p("a_8".matches("//w{3}")); // p("abc888&^%".matches("[a-z]{1,3}//d+[&^#%]+")); // p("//".matches("////")); // POSIX Style // p("a".matches("//p{Lower}")); // boundary // p("hello sir".matches("^h.*")); // p("hello sir".matches(".*ir$")); // p("hello sir".matches("^h[a-z]{1,3}o//b.*")); // p("hellosir".matches("^h[a-z]{1,3}o//b.*")); // whilte lines // p("/n".matches("^[//s&&[^//n // p("aaa 8888c".matches(".*//d{4}.")); // p("aaa8888c".matches(".*//b//d{4}.")); // p("aaa8888c".matches(".*//d{4}.")); // p("aaa 8888c".matches(".*//b//d{4}.")); // email // p("[email protected]".matches("[//w[.-]]+@[//w[.-]]+//.[//w]+")); // matches find lookingAt // Pattern p = Pattern.compile("//d{3,5}"); // String s = "123-34345-234-00"; // Matcher m = p.matcher(s); // p(m.matches()); // m.reset(); // p(m.find()); // p(m.start() + "-" + m.end()); // p(m.find()); // p(m.start() + "-" + m.end()); // p(m.find()); // p(m.start() + "-" + m.end()); // p(m.find()); // //p(m.start() + "-" + m.end()); // p(m.lookingAt()); // p(m.lookingAt()); // p(m.lookingAt()); // p(m.lookingAt()); // replacement // Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE); // Matcher m = p // .matcher("java Java JAVa JaVa IloveJAVA you hateJava afasdfasdf"); // StringBuffer buf = new StringBuffer(); // int i = 0; // while (m.find()) { // i++; // if (i % 2 == 0) { // m.appendReplacement(buf, "java"); // } else { // m.appendReplacement(buf, "JAVA"); // } // } // m.appendTail(buf); // p(buf); // group // Pattern p = Pattern.compile("(//d{3,5})([a-z]{2})"); // String s = "123aa-34345bb-234cc-00"; // Matcher m = p.matcher(s); // while (m.find()) { // p(m.group()); // } // qulifiers // Pattern p = Pattern.compile(".{3,10}+[0-9]"); // String s = "aaaa5bbbb68"; // Matcher m = p.matcher(s); // if (m.find()) // p(m.start() + "-" + m.end()); // else // p("not match!"); // non-capturing groups // Pattern p = Pattern.compile(".{3}(?=a)"); // String s = "444a66b"; // Matcher m = p.matcher(s); // while (m.find()) { // p(m.group()); // } // back refenrences // Pattern p = Pattern.compile("(//d(//d))//2"); // String s = "122"; // Matcher m = p.matcher(s); // p(m.matches()); // flags的简写 Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE); p("Java".matches("(?i)(java)")); } public static void p(Object o) { System.out.println(o); } }
if (Character.isLowerCase(ch[i])) { char temp = Character.toUpperCase(ch[i]); ch[i] = temp; } else if (Character.isUpperCase(ch[i])) { char temp = Character.toLowerCase(ch[i]); ch[i] = temp; }
while (true) { flag = 0; result = tc.getNum(); input = Integer.parseInt(br.readLine()); while (flag == 0) { if (input == result) { System.out.println("very good!"); flag = 1; } else { flag = 0; System.out.println("no,please try again."); input = Integer.parseInt(br.readLine()); } } }
L1: while (true) { int question = new Times().question(); L2: while (true) { int answer = scanner.nextInt(); if (answer == question) { System.out.println("very good!"); continue L1; } else { System.out.println("no,please try again."); continue L2; } } }
char[] c1 = s1.toCharArray();
Map<Integer, String> m = new HashMap<Integer, String>(); m.put(1, "one"); m.put(2, "two"); m.put(3, "three"); Object o[] = m.values().toArray();
GregorianCalendar ca = new GregorianCalendar(); System.out.println(ca.get(GregorianCalendar.AM_PM));
for (int i = 0; i < number.length; i++) { for (int j = 0; j < number.length - i - 1; j++) { if (number[j] < number[j + 1]) { int temp = number[j]; number[j] = number[j + 1]; number[j + 1] = temp; } } }
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in)); String str = buffer.readLine();
Scanner scanner = new Scanner(System.in); String line = scanner.nextLine();
InputStreamReader in = null; OutputStreamWriter out = null; BufferedReader br = null; in = new InputStreamReader(new FileInputStream(System .getProperty("user.dir") + "//old.txt"), "UTF-8"); br = new BufferedReader(in); out = new OutputStreamWriter(new FileOutputStream( "C://WINDOWS//new.txt"), "UTF-8");
String[] temp; temp = text.split("//s{1,}");// 按照空格分割字符串,多个空格作为一个空格对字符串进行分割
String s = String.valueOf(1); if (s.charAt(i) == '1'){}
System.nanoTime();
SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss"); String date = sdt.format(System.currentTimeMillis());
DecimalFormat df = (DecimalFormat) NumberFormat.getInstance(); df.applyPattern("00");
Calendar current_time = new GregorianCalendar(); Calendar target_time = new GregorianCalendar(2009, Calendar.MAY, 1); long diffMillis = target_time.getTimeInMillis() - current_time.getTimeInMillis(); long diffDays = diffMillis / (24 * 60 * 60 * 1000) + 1; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD"); System.out.println("距" + sdf.format(target_time.getTimeInMillis()) + "还有:" + diffDays + "天");
Arrays.sort(array);
StringBuilder s1 = new StringBuilder(temp); // StringBuffer s1 = new StringBuffer(temp); System.out.println(s1.reverse());
package com.tester.luckly; import java.util.Random; import java.util.Scanner; import java.util.Set; import java.util.TreeSet; public class DoubleBall { private Set<Integer> hs; private static boolean flag = true; public enum oddOrEven { Odd, Even } public enum aOrBOrC { A, B, C } public static void main(String[] args) { DoubleBall db = new DoubleBall(); System.out .println("====================Red Balls============================"); String url1 = "http://map.zhcw.com/ssq//html/h7fenqu_ascstr=20.html"; System.out.println(); System.err.println(url1); Scanner scanner1 = new Scanner(System.in); System.out.println("Please select:1.Input your own two numbers"); System.out .println(" 2.Input the range of the two numbers"); int select = scanner1.nextInt(); if (select == 1) { flag = false; } else { flag = true; } System.out.println("Please input two numbers like this: 1 2"); scanner1.nextLine(); String[] str = scanner1.nextLine().split(" "); Set<Integer> redBall = db.calcRedBall(Integer.parseInt(str[0]), Integer .parseInt(str[1])); System.out .println("====================Blue Ball============================"); String url2 = "http://sports.sohu.com/s2007/0445/s252476794/"; System.out.println(); System.err.println(url2); Scanner scanner2 = new Scanner(System.in); System.out.println("1.Please select:" + oddOrEven.Odd + " or " + oddOrEven.Even); String select1 = scanner2.nextLine(); System.out.println("2.Please select:" + aOrBOrC.A + " or " + aOrBOrC.B + " or " + aOrBOrC.C); String select2 = scanner2.nextLine(); int blueBall = db.calcBlueBall(select1, select2); System.out .println("====================The Result============================"); System.out.println(); for (int i : redBall) { System.err.print(i + " "); } System.err.println("| " + blueBall); String url3 = "http://www.bwlc.net/dhtz/"; System.err.println(url3); } public Set<Integer> calcRedBall(int begin, int end) { hs = new TreeSet<Integer>(); /* * 固定恒码:就是每期都必备的号码,通常为2-3个,如02,13,27。 这2-3个号码长期备选(至少50期)。 */ hs.add(10); hs.add(27); /* * 边缘捡“胆”:就是在边缘码“05、10、15、20、25、30”及“01、 * 06、11、16、21、26、31”共13个号码中巧妙地捡出胆码。之所以 把边缘码作为“胆”码的一种选取方法,是因为从历史中奖号码来看, * 几乎每一期都会在具备这种特性的号码中出现2-3个。 */ int[] array = { 5, 15, 20, 25, 30, 01, 06, 11, 16, 21, 26, 31 }; for (int i = 0; i < 2; i++) { Random random = new Random(); hs.add(array[random.nextInt(array.length)]); } /* * 重码追邻:在上上期出号的左右选取的上期号码,这话不好理解,现举例说明:双色球2007109期开01 04 07 08 13 14; * 110期开02 04 07 15 24 28;其中这期的04 * 07,刚好是109期二、三位的重码,那么111期的重码该选取哪个呢?重码追邻就是在110期的04 07 的左右选取,110期04 07 * 的左右是02 15。所以111期的备选号就是02 15 了。实际上111期重码刚好开的是02。重码追邻一般选取2-3个号码。 */ /* ========= 或者========= */ /* 旺区落“胆”。就是在最近几期热号区选择胆码。比如,如果最近的5期内,在中区12~22出号比较密集,那么就要在这个区域里选取3个胆码。这样选择的理由是热码恒热原理,即号码总是在某个区域相对集中出现。 */ if (flag == true) { hs.add(begin); hs.add(end); } else { Random random = new Random(); hs.add(begin + random.nextInt(end - begin + 1)); } /* Luck number! */ while (hs.size() < 6) { Random random = new Random(); hs.add(1 + random.nextInt(33)); } return hs; } public int calcBlueBall(String select1, String select2) { int begin = 1; int end = 16; if (select2.equals(aOrBOrC.A.toString())) { begin = 1; end = 5; } else if (select2.equals(aOrBOrC.B.toString())) { begin = 6; end = 10; } else { begin = 11; end = 16; } Random random = new Random(); int blueBall = begin + random.nextInt(end - begin + 1); if (select1.equals(oddOrEven.Odd.toString())) { while (blueBall % 2 == 0) { blueBall = begin + random.nextInt(end - begin + 1); } } else { while (blueBall % 2 == 1) { blueBall = begin + random.nextInt(end - begin + 1); } } return blueBall; } }
package com.test; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.channels.FileChannel; public class FontInstall { public static void main(String[] args) { try { String[] fonts = { "DejaVuSansMono-Oblique.ttf", "DejaVuSansMono-BoldOblique.ttf", "DejaVuSansMono.ttf", "DejaVuSansMono-Bold.ttf" }; System.out.println(); for (int i = 0; i < fonts.length; i++) { // Create channel on the source FileChannel srcChannel = new FileInputStream(System .getProperty("user.dir") + "//" + fonts[i]).getChannel(); // Create channel on the destination FileChannel dstChannel = new FileOutputStream( "C://WINDOWS//Fonts//" + fonts[i]).getChannel(); // Copy file contents from source to destination dstChannel.transferFrom(srcChannel, 0, srcChannel.size()); // Close the channels srcChannel.close(); dstChannel.close(); } } catch (IOException e) { } } }
package com.test; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class FontInstall2 { public static void main(String[] args) { try { String[] fonts = { "DejaVuSansMono-Oblique.ttf", "DejaVuSansMono-BoldOblique.ttf", "DejaVuSansMono.ttf", "DejaVuSansMono-Bold.ttf" }; System.out.println(); for (int i = 0; i < fonts.length; i++) { InputStream in = new FileInputStream(System .getProperty("user.dir") + "//" + fonts[i]); OutputStream out = new FileOutputStream("C://WINDOWS//Fonts//" + fonts[i]); // Transfer bytes from in to out byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); } } catch (IOException e) { } } }