木感想

常常思索 没有结果 来来去去 依稀记得

导航

lucene的设计

    最近开始做Java程序了。
    一直期望Lucene有c语言接口,但是短时间内没有找到。时间紧工作多,只好拿着java就作起来了。
第一次使用Eclipse编写Java程序,还挺不习惯的。但用了几天就好多了,反倒觉得.net没有味道了。哈哈。
    Java程序还挺简单的,和Unix下的模块有很多相似的地方。比如:Widget, Gtk 都太熟悉了,居然被网友们统统搬到Java上了。真是八仙过海,各显其能。什么好东西都被连锅端了。这样开始Java挺有意思的。虽然C系列是我用了很多年的语言,但也绝对不会排斥Java的。
   这几天准备将好好建立起功能类。完成他们后,自然项目就做好了。
   昨天写了一个功能类挺不错的。自我感觉解决了入门时候大字不方便的地方。下面是代码:
package lw_work;

import java.io.*;
import java.util.*;

public class Trace {
 /** 显示szTraceMsg 的内容到终端 */
 public static void Trace0(String szTraceMsg)
 {
  System.out.println(szTraceMsg);
 }
 
 /** 写 szTraceMsg 内容到文件中 */
 public static void Trace1(String szTraceMsg)
 {
  PrintStream out;
  File f = new File(Marco.lpszTraceFile);
  
  try{
   if(f == null)
   {
    f.createNewFile();
   }
   out = new PrintStream(new BufferedOutputStream(new FileOutputStream(f,true)));
   out.println(szTraceMsg);
   out.close();
  }catch(IOException e){
   e.printStackTrace();
  }
 }

 /** 格式化信息szTraceMsg 增加操作时间,再写入日志中。*/
 public static void Trace2(String szTraceMsg)
 {
  String szOut;
  Calendar date = Calendar.getInstance();
  
  int year = date.get(Calendar.YEAR);
  int month = date.get(Calendar.MONTH)+1;
  int day = date.get(Calendar.DAY_OF_MONTH);
  int hour = date.get(Calendar.HOUR_OF_DAY);
  int minute = date.get(Calendar.MINUTE);

  szOut = Integer.toString(year)   + "-" +
    Integer.toString(month)  + "-" +
    Integer.toString(day)    + "-" +
    Integer.toString(hour)   + "-" +
    Integer.toString(minute) + " " +
    szTraceMsg;
  Trace1(szOut);
 }
 
 /** 显示意外的内容到终端 */
 public static void TraceException(Exception e)
 {
  Trace0("catch a " + e.getClass() + "\n with message:" + e.getMessage());
 }
}

Java 类的static居然和C++一样,所以调用的时候只需要:
Trace.TraceException(e);
就可以显示结果了。

另外 Eclipse的注释也很有意思,使用/** comment */能够直接增加提示信息到动态显示。
还使用了@符号作分类标志,很容易的给注释内容分成很多类型。

下面几天还要继续用Java做事。有了心得会继续写下去。特别是中文分词和搜索的感觉。

posted on 2006-09-27 14:24  跌跌撞撞  阅读(415)  评论(0)    收藏  举报