我必须在java中解析这样的txt文件:
01/01/2008 00:00 15581 15647 15646 15630 15641 15649
01/01/2008 01:00 15630 15628 15633 15617 15656 15680
01/01/2008 02:00 15622 15656 15668 15644 15681 15633
01/01/2008 03:00 15631 15665 15684 15648 15640 15634
01/01/2008 04:00 15615 15638 15637 15650 15646 15665
01/01/2008 05:00 15642 15651 15644 15640 15632 15638
01/01/2008 06:00 15633 15647 15632 15654 15635 15633
...
在每一行中: -第一列是日期(dd/mm/yyyy) -第二个是小时 (hh:mm) -从第三个到第八个,每十分钟有一个值(例如:15581是00:00的值,15647是00:10的值,依此类推...)
我必须在二维表中解析它才能绘制图表。
我不知道该怎么做。
有什么想法吗?
谢谢。
最佳答案
我会在对象类上使用@FlrDataType,即固定长度记录。例如
@FlrDataType
public class MyRecord {
@FlrField(pos = 1, length = 10)
String date;
@FlrField(pos = 12, length = 5)
String time;
@FlrField(pos = 25, length = 5) //not sure on position 25, cant count your spaces
String value1;
//etc + getters/setters
}
然后在主文件中使用反序列化器创建像这样的对象
Deserializer deserialMyRecord = FlrIOFactory.createFactory(MyRecord.class).createDeserializer();
然后使用 StringReader 读取文件
String rec = myFile.readLine();
StringReader reader = new StringReader(rec);
deserialMyRecord.open(reader);
while(deserialMyRecord.hasNext()) {
MyRecord myRecord = deserialMyRecord.next();
}
编辑*抱歉,该库是 jsefa
org.jsefa.flr.annotation
关于java - 如何用java解析这个文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22481783/