将一行拆分为 java 中的对象
Splitting a line to objects in java
我正在阅读文件。我需要将每个值转换为 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)
赞 Lonely Neuron 建议:
您应该使用定界库将输出解析为有效的数据结构。您可以使用 split
函数来实现:
s.split("delimiter"); // replace delimiter with the actual delimiting in the output
请注意 split
的参数是一个正则表达式,因此在传递 "."
之类的东西时要小心。假设您有多行输出 - 您可能希望多次调用 split
方法。
在 java 中执行定界的方法有很多种:您也可以使用 , or a StringTokenizer (second answer)。
祝你好运!
我正在阅读文件。我需要将每个值转换为 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)
赞 Lonely Neuron 建议:
您应该使用定界库将输出解析为有效的数据结构。您可以使用 split
函数来实现:
s.split("delimiter"); // replace delimiter with the actual delimiting in the output
请注意 split
的参数是一个正则表达式,因此在传递 "."
之类的东西时要小心。假设您有多行输出 - 您可能希望多次调用 split
方法。
在 java 中执行定界的方法有很多种:您也可以使用
祝你好运!