shp是常用的几何数据格式,那么shp数据通常由一组文件组成,因此在读取shp数据之前,通常要确保shp数据的必要文件齐全,下面使用java代码编写一个checkShpComplete()方法用于检查shp文件是否齐全。在使用时,调用checkShpComplete()方法即可
/** * 检测shp文件是否齐全 * * @param files shp文件 * @return */ public static Boolean checkShpComplete(MultipartFile[] files) { List<String> shpFiles = new ArrayList<>(); //shp文件名列表 boolean shp = false; boolean dbf = false; boolean shx = false; boolean prj = false; for (MultipartFile file : files) { //获取指定后缀的文件 String tempName = file.getOriginalFilename(); String ext = FileUtils.getExt(tempName).toLowerCase(); if (ext.equals("shp") && !shp) { shpFiles.add(FileUtils.getFileName(tempName)); shp = true; } else if (ext.equals("dbf") && !dbf) { shpFiles.add(FileUtils.getFileName(tempName)); dbf = true; } else if (ext.equals("shx") && !shx) { shpFiles.add(FileUtils.getFileName(tempName)); shx = true; } else if (ext.equals("prj") && !prj) { shpFiles.add(FileUtils.getFileName(tempName)); prj = true; } } //判定shp文件是否齐全 String fileName = ""; for (int i = 0; i < shpFiles.size(); i++) { if (i == 0) { fileName = shpFiles.get(i); } else { if (!fileName.equals(shpFiles.get(i))) { return false; } } } if (shpFiles.size() != 4) return false; return true; }