decodeData(strLine)でテキスト ファイルを読み込んでいる間、フォルダー内の最後の 2 つのテキスト ファイルのみを読み込んでおり、最初のテキスト ファイル (最後から 2 つ後) の一部から開始しています。
private void readEachFile(String path) throws IOException {
File[] dirs = new File(path).listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
if (file.isFile() && file.canRead()) {
System.out.println("File Name:" + file.getName());
try (BufferedReader br = new BufferedReader(new FileReader(file)))
{
String strLine;
while ((strLine = br.readLine()) != null) {
System.out.println(strLine);
decodeData(strLine);//reading only last two files from the folder
}
return false;
} catch (NullPointerException | FileNotFoundException fne) {
fne.printStackTrace();
} catch (IOException | RuntimeException re) {
re.printStackTrace();
}
}
return file.isDirectory() && file.canRead();
}
});
for (File dir : dirs) {
readFile(dir.getCanonicalPath());
}
}
そのため、フォルダーからすべてのファイルを読み取るための提案をお願いします。
コンソールは次のようになっています。
AIS MessageType:1
Repeat Indicator:0
MMSI Number:4190000
AIS Version:1
IMO Number:134217819
Navigational status:Constrained by her draught
Rate Of Turn(ROT):128
Speed Over Ground(SOG):0
Position Accuracy(PA):Low or Default
Longitude:39.881207
Latitude:23.278917
Course Over Ground(COG):0
Heading(HDG):511
Time Stamp:The positioning system is inoperative
2013-01-04:18:30:09;!ABVDM,1,1,,A,14R3JV00235U=h:4?>fKpIT@0859,0*6A (Started reading from last but one text file at some line)
Raw Binary:000001000100100010000011011010100110000000000000000010000011000101100101001101110000001010000100001111001110101110011011111000011001100100010000000000001000000101001001
Decoded Data
Creation Time:2013-01-04:18:30:09
NMEA Message Type:!ABVDM
Fragments in the message:1
Fragment no:1
AIS MessageType:1
Repeat Indicator:0
MMSI Number:304143000
AIS Version:0
IMO Number:134233
Navigational status:Under way using engine
Rate Of Turn(ROT):0
Speed Over Ground(SOG):13
Position Accuracy(PA):Low or Default
Longitude:39.01739
Latitude:14.812778
Course Over Ground(COG):99
Heading(HDG):306
Time Stamp:The positioning system is inoperative
2013-01-04:18:30:09;!ABVDM,1,1,,A,16?a7t00005<Vcl<3?vDq5fB0<0l,0*55
Raw Binary:000001000110001111101001000111111100000000000000000000000000000101001100100110101011110100001100000011001111111110010100111001000101101110010010000000001100000000110100
Decoded Data
Creation Time:2013-01-04:18:30:09
NMEA Message Type:!ABVDM
Fragments in the message:1
Fragment no:1
AIS MessageType:1
Repeat Indicator:0
MMSI Number:419055600
AIS Version:0
IMO Number:83
Navigational status:Under way using engine
Rate Of Turn(ROT):0
Speed Over Ground(SOG):0
Position Accuracy(PA):Low or Default
Longitude:36.329273
Latitude:42.12051
Course Over Ground(COG):125
Heading(HDG):183
Time Stamp:The positioning system is inoperative
................................................
................................................
テキストファイルの一部から最後まで(最後から2番目のテキストファイル)を読み取り、最後のテキストファイルから最後まで読み取りを開始しました。
File Name: sample8.txt
2013-01-04:18:30:10;!ABVDM,1,1,,A,15RKV0002i4b=6@9eF15I4H@06Ap,0*4C
...................................................................
そして、エラーなしでこれらのフィールドをスキップしたコンソールに表示される出力
strLine - Some line (started from some line from different text file)
Raw Binary:
Decoded Data
Creation Time:
NMEA Message Type:
Fragments in the message:
Fragment no:
デコード中に「AIS MessageType」フィールドから開始