data文件转text文件

来源:百度知道 编辑:UC知道 时间:2024/05/31 15:23:32
1492015,2008-05-01,04:59:00,EDDM,EBBR,26R,GIVMI4W,DLH1YA,4137, ,RJ85 ,Departure,1,2008-05-01,05:00:14,2008-05-01,05:05:50,85
0.0,705519.0,360454.7,546.5,81.2,0.0
4.0,705220.1,360366.9,586.8,74.8,311.5
8.0,704938.6,360304.3,631.8,69.7,599.9
12.0,704671.1,360261.6,680.0,66.0,870.8
16.0,704414.3,360233.8,729.9,63.4,1129.1
20.0,704165.1,360215.7,780.1,61.7,1379.0
24.0,703920.2,360202.3,829.0,61.0,1624.2
28.0,703676.6,360188.6,875.0,61.2,1868.2
32.0,703430.6,360169.3,916.8,62.3,2114.9
36.0,703179.4,360139.6,952.7,64.4,2367.9
1492017,2008-05-01,04:59:00,EDDM,LIPZ,26L,OBAXA4S,DLH7KE,4356, ,AT45 ,Departure,1,2008-05-01,04:59:50,2008-05-01,05:06:36,102
0.0,704882.6,358032.3,589.8,60.1,0.0
4.0,704691.9,357906.8,637.6,55.2,228.3
8.0,704485.9,357836.0,681.0,54.5,446.1
12.0,704266.8,357807.6,720.2,56.4,667.1
16.0,704036.2,357809.7,755.7,59.0,897.7
20.0,703796.4,357830.2,787.8,61.3,1138.3
24.0,703549.2,357

/*你自己看看吧。这个应该像是个csv格式的文件。

我的思路是逐行读。你所需要的行的

是以

数字,数字-数字-数字 这种形式的行,

如1492015,2008-05-01

按正则式找^\d+,\d+-\d+-\d+

然后再用String.split(",")将这一行拆分成字符串数组,如info

则info[0]即为你要的flight id,info[11]为类型。然后从这一行开始往下是数据,也好读

,同样用String.split(",")拆分成数组,如叫data,则data[1],data[2]为你所需要的数据 

把test.dat和源文件放在同一目录下或者修改代码中的路径。

java Main.java 是直接输出到屏幕上,你先看符合要求不。正则式我不太会用,如果用现在的csv读写类就更方便了。

java Main.java > 输出文件名 这样就可以把结果输出的文件中了

*/

/**************************************/

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

public class Main{

    public static void main(String[] args) throws IOException{

  FileReader reader = null;

  BufferedReader bfr = null;