我必须在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
...
每一行:-第一列是日期(日/月/年)秒是小时(hh:mm)-从第3号到第8号,每10分钟的某个值(例如: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