删除空白瓦片
2016-05-18 13:38
429 查看
通过GMAP平台的切图工具切片后,存在很多空白瓦片文件(png格式,GMAP切图出来的瓦片为非紧凑格式),这些文件对最终地图呈现没有作用,因此可以将这些瓦片删除,以大幅减少瓦片数量,提升传输和地图访问效率。本文用Java实现了一个小程序,通过输入瓦片存放的路径目录,以及空白瓦片文件大小上限值。来递归删除该目录下所有的空白瓦片。
将上述程序导出jar包后,在瓦片所在的服务器上只要具备Java运行环境(推荐jdk1.6),就可以执行该程序。
程序调用方式及执行结果如下图所示。其中,执行命令中带的两个参数:
C:\test 代表瓦片文件的根路径
1000 代表空白瓦片文件大小上限值,单位为字节。以为着小于1000bytes的文件都会被删除。
删除空白瓦片程序jar包下载
package deleteBlankTiles; import java.io.File; public class DelBlankTiles { //空白瓦片大小上限 private static int blankTileUpperSize; //累计删除计数器 private static long sum=0; private static void traverseFolder(String directoryPath){ System.out.println("正在处理目录:"+directoryPath); File oDirectoryPath=new File(directoryPath); File[] files=oDirectoryPath.listFiles(); if(files.length==0){ return; }else{ String delFileName; long delFileLength; for(File file:files){ if(file.isDirectory()){ traverseFolder(file.getAbsolutePath()); }else{ if(file.length()<blankTileUpperSize){ try{ delFileName=file.getAbsolutePath(); delFileLength=file.length(); file.delete(); System.out.println(delFileName + " " + delFileLength + "bytes 被删除!"); System.out.println("累计删除文件数:" + (++sum)); }catch(Exception e){ //若当前文件删除失败,不做任何处理,继续下一个文件的删除。 } } } } } } public static void main(String[] args){ String directoryPath=args[0]; try{ blankTileUpperSize=Integer.parseInt(args[1]); }catch(NumberFormatException ex){ System.out.println("空白瓦片文件上限大小参数格式错误!"); return; } File oDirectoryPath=new File(directoryPath); if(!oDirectoryPath.exists() || !oDirectoryPath.isDirectory()){ System.out.println("文件夹路径错误!"); return; } traverseFolder(directoryPath); System.out.println("执行完毕!"); } }
将上述程序导出jar包后,在瓦片所在的服务器上只要具备Java运行环境(推荐jdk1.6),就可以执行该程序。
程序调用方式及执行结果如下图所示。其中,执行命令中带的两个参数:
C:\test 代表瓦片文件的根路径
1000 代表空白瓦片文件大小上限值,单位为字节。以为着小于1000bytes的文件都会被删除。
删除空白瓦片程序jar包下载
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树