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做事。有了心得会继续写下去。特别是中文分词和搜索的感觉。
浙公网安备 33010602011771号