如题,求助,用C#可以很轻松读出来,可是用java不会读了。
有哪种方法可以读出来?看有人说用logparser,能否不安装这个而是只调用里面的某些接口啥的?
毕竟写个程序不能要求客户装别的软件不是。如有解决方案,麻烦在跟贴中复制下,不要跟个网址阿,单位上不去csdn以外的网站~  当然,csdn的网址可以留。

解决方案 »

  1.   

    日志文件在哪个目录?用fileinputstream读文件就行了
      

  2.   


    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();
    }
    }}
      

  3.   

    如果你的目的只是读的话 直接像读普通文件的方法就可以了如果你的目的是解析日志文件的话...那么你就要知道windows日志文件的格式
    使用正则表达式将里面的信息提取出来
      

  4.   

    用java读出来的系统日志,是乱码。
    而且发现服务器机器的日志数据量太大,用这个监视效率不是很高。所以放弃这个方案。