make canOpen method as static

This commit is contained in:
wyq 2023-09-11 22:14:47 +08:00
parent 618c5f1380
commit a8e015129b
3 changed files with 12 additions and 5 deletions

View File

@ -478,7 +478,7 @@ public class MeteoDataInfo {
di = new NetCDFDataInfo(); di = new NetCDFDataInfo();
} else if (ARLDataInfo.class.getDeclaredConstructor().newInstance().isValidFile(raf)) { } else if (ARLDataInfo.class.getDeclaredConstructor().newInstance().isValidFile(raf)) {
di = new ARLDataInfo(); di = new ARLDataInfo();
} else if (CMARadarBaseDataInfo.class.getDeclaredConstructor().newInstance().canOpen(fileName)) { } else if (CMARadarBaseDataInfo.canOpen(fileName)) {
di = new CMARadarBaseDataInfo(); di = new CMARadarBaseDataInfo();
} else { } else {
di = MICAPSDataInfo.getDataInfo(raf); di = MICAPSDataInfo.getDataInfo(raf);

View File

@ -174,16 +174,23 @@ public class CMARadarBaseDataInfo extends DataInfo implements IGridDataInfo {
} }
} }
public boolean canOpen(String fileName) { /**
* Check the data file format
* @param fileName Data file name
* @return Boolean
*/
public static boolean canOpen(String fileName) {
try { try {
byte[] bytes = new byte[4]; byte[] bytes = new byte[4];
if (fileName.endsWith("bz2")) { if (fileName.endsWith("bz2")) {
BZip2CompressorInputStream inputStream = new BZip2CompressorInputStream(Files.newInputStream(Paths.get(fileName))); BZip2CompressorInputStream inputStream = new BZip2CompressorInputStream(Files.newInputStream(Paths.get(fileName)));
inputStream.read(bytes); inputStream.read(bytes);
inputStream.close();
} else { } else {
RandomAccessFile raf = new RandomAccessFile(fileName, "r"); RandomAccessFile raf = new RandomAccessFile(fileName, "r");
raf.seek(0); raf.seek(0);
raf.read(bytes); raf.read(bytes);
raf.close();
} }
int magic = DataConvert.bytes2Int(bytes, ByteOrder.LITTLE_ENDIAN); int magic = DataConvert.bytes2Int(bytes, ByteOrder.LITTLE_ENDIAN);
if (magic == 1297371986) { if (magic == 1297371986) {

View File

@ -22,13 +22,13 @@
<OpenedFile File="D:\Working\MIScript\Jython\mis\plot_types\patch\wind_circle_2.py"/> <OpenedFile File="D:\Working\MIScript\Jython\mis\plot_types\patch\wind_circle_2.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_cma_base_grid_3d.py"/> <OpenedFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_cma_base_grid_3d.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_bin_1.py"/> <OpenedFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_bin_1.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_bin_4.py"/> <OpenedFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_cma_base.py"/>
</OpenedFiles> </OpenedFiles>
<RecentFiles> <RecentFiles>
<RecentFile File="D:\Working\MIScript\Jython\mis\plot_types\patch\wind_circle_2.py"/> <RecentFile File="D:\Working\MIScript\Jython\mis\plot_types\patch\wind_circle_2.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_cma_base_grid_3d.py"/> <RecentFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_cma_base_grid_3d.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_bin_1.py"/> <RecentFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_bin_1.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_bin_4.py"/> <RecentFile File="D:\Working\MIScript\Jython\mis\io\radar\radar_cma_base.py"/>
</RecentFiles> </RecentFiles>
</File> </File>
<Font> <Font>
@ -36,5 +36,5 @@
</Font> </Font>
<LookFeel DockWindowDecorated="true" LafDecorated="true" Name="FlatDarkLaf"/> <LookFeel DockWindowDecorated="true" LafDecorated="true" Name="FlatDarkLaf"/>
<Figure DoubleBuffering="true"/> <Figure DoubleBuffering="true"/>
<Startup MainFormLocation="-7,0" MainFormSize="1365,791"/> <Startup MainFormLocation="-7,-7" MainFormSize="1293,685"/>
</MeteoInfo> </MeteoInfo>