【问题标题】:Splitting a line to objects in java在java中将一行拆分为对象
【发布时间】:2018-04-17 12:19:32
【问题描述】:

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

【问题讨论】:

标签: java file bufferedreader


【解决方案1】:

喜欢Lonely Neuron 建议:

您应该使用定界库将您的输出解析为有效的数据结构。您可以使用split 函数来实现:

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

请注意split 的参数是一个正则表达式,所以传递"." 之类的东西要小心。假设您有一个多行输出 - 您可能希望多次调用 split 方法。

在 java 中执行分隔的方法有很多种:您可以使用Scanner,也可以使用StringTokenizer (second answer)

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多