我正在读一个文件。我需要将每个值转换为java对象。
String sCurrentLine;
BufferedReader br = null;
int pointer = 1;
try {
br = new BufferedReader(new FileReader("src/main/java/com/ali/trillium/p0f.log"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
System.out.println("---------------");
System.out.println(pointer++);
System.out.println("---------------");
}
节目输出
<Tue Apr 10 09:21:42 2018> 172.20.16.36:62385 - Windows XP/2000 (RFC1323+, w+, tstamp-) (ECN) [low cost] [GENERIC] Signature: [8192:113:1:52:M1352,N,W8,N,N,S:.:Windows:?] -> 172.20.16.23:3391 (distance 15, link: unknown-1392)
答案 0 :(得分:1)
赞Lonely Neuron建议:
您应该使用分隔库来将输出解析为工作数据结构。您可以使用split
函数来实现此目的:
s.split("delimiter"); // replace delimiter with the actual delimiting in the output
请注意,split
的参数是正则表达式,因此请谨慎传递"."
之类的内容。假设您有多行输出 - 您可能希望对split
方法使用多次调用。
有许多方法可以在java中执行分隔:您也可以使用Scanner或StringTokenizer (second answer)。
祝你好运!