将行拆分为java中的对象

时间:2018-04-17 12:19:32

标签: java file bufferedreader

我正在读一个文件。我需要将每个值转换为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)

1 个答案:

答案 0 :(得分:1)

Lonely Neuron建议:

您应该使用分隔库来将输出解析为工作数据结构。您可以使用split函数来实现此目的:

s.split("delimiter"); // replace delimiter with the actual delimiting in the output

请注意,split的参数是正则表达式,因此请谨慎传递"."之类的内容。假设您有多行输出 - 您可能希望对split方法使用多次调用。

有许多方法可以在java中执行分隔:您也可以使用ScannerStringTokenizer (second answer)

祝你好运!