日期:2014-05-20  浏览次数:20801 次

如何用java读取windows系统日志?
如题,求助,用C#可以很轻松读出来,可是用java不会读了。
有哪种方法可以读出来?

看有人说用logparser,能否不安装这个而是只调用里面的某些接口啥的?
毕竟写个程序不能要求客户装别的软件不是。

如有解决方案,麻烦在跟贴中复制下,不要跟个网址阿,单位上不去csdn以外的网站~  当然,csdn的网址可以留。

------解决方案--------------------

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class FileReaderTest {

static List<String> logs = new ArrayList<String>();

public static List<String> readFile(File f) throws IOException {
if (f == null 
------解决方案--------------------
 !f.exists()) {
return null;
}
List<String> list = new ArrayList<String>();
String encoding = "UTF-8";
InputStreamReader read = new InputStreamReader(new FileInputStream(f),
encoding);
BufferedReader br = new BufferedReader(read);
String line = null;
while ((line = br.readLine()) != null) {
if(line.startsWith("机器码")){
logs.add(line);
}
list.add(line);
}
br.close();
read.close();
return list;
}

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
FileReaderTest.readFile(new File("c:/temp/test.txt"));
for(String s : FileReaderTest.logs){
System.out.println(s);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}


------解决方案--------------------
应该知道路劲就可以了的。
------解决方案--------------------
知道路径用 流 去读就好了。 有各种流 可以各种读·~
------解决方案--------------------
如果你的目的只是读的话 直接像读普通文件的方法就可以了

如果你的目的是解析日志文件的话...那么你就要知道windows日志文件的格式
使用正则表达式将里面的信息提取出来