如题,求助,用C#可以很轻松读出来,可是用java不会读了。
有哪种方法可以读出来?看有人说用logparser,能否不安装这个而是只调用里面的某些接口啥的?
毕竟写个程序不能要求客户装别的软件不是。如有解决方案,麻烦在跟贴中复制下,不要跟个网址阿,单位上不去csdn以外的网站~ 当然,csdn的网址可以留。
有哪种方法可以读出来?看有人说用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();
}
}}
使用正则表达式将里面的信息提取出来
而且发现服务器机器的日志数据量太大,用这个监视效率不是很高。所以放弃这个方案。