Java处理文件小例子--获取全国所有城市的坐标

需求:前端展示数据,全国城市的坐标

这个是 echarts 的 制作地图JSON 工具, 但是没有全国的,只有各个省

前端需要的数据:   

所以现在 下载所有的省数据:

然后是Java处理。 这是这里重点, 在开发中, 很多繁琐的事 ,我们都可以用程序来控制:

package cn.ycmedia.common.utils;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.qiniu.http.Response;

public class ReadTxt {

    static JSONObject jsxxsx = new JSONObject();
      public static void readTxtFile(String filePath){
            try {
                    String encoding="utf-8";
                    File file=new File(filePath);
                    JSONObject json = new JSONObject();
                    if(file.isFile() && file.exists()){ //判断文件是否存在
                        InputStreamReader read = new InputStreamReader(
                        new FileInputStream(file),encoding);//考虑到编码格式
                        BufferedReader bufferedReader = new BufferedReader(read);
                        String lineTxt = null;
                        JSONObject js = null;
                        while((lineTxt = bufferedReader.readLine()) != null){
                            js = JSONObject.parseObject(lineTxt);

                          JSONArray jsAr= js.getJSONArray("features");
                          for (int i = 0; i < jsAr.size(); i++) {
                              JSONObject jsP = (JSONObject)jsAr.get(i);
                              JSONObject xx=jsP.getJSONObject("properties");
                              String city =xx.getString("name");
                              Double[] cp =xx.getObject("cp", Double[].class);
                              jsxxsx.put(city, cp);

                        }

                        }

                        read.close();
            }else{
                System.out.println("找不到指定的文件");
            }
            } catch (Exception e) {
                System.out.println("读取文件内容出错");
                e.printStackTrace();
            }

        }

        public static void main(String argv[]) throws Exception{
            showAllFiles(new File("D:\\test\\111"));
             System.err.println(jsxxsx);
        }

        public static void showAllFiles(File dir) throws Exception {
            File[] fs = dir.listFiles();
            for (int i = 0; i < fs.length; i++) {
                if (fs[i].isDirectory()) {
                    try {
                        showAllFiles(fs[i]);
                    } catch (Exception e) {
                    }
                } else {
                    // 打印返回的信息
                    readTxtFile(fs[i].getAbsolutePath());

                }
            }
        }
}

输出:

====================================================================================================

这个小例子 ,在这里添加随笔 是告诉自己, 能用程序处理的别耽误自己时间。

时间: 2024-10-10 15:15:12

Java处理文件小例子--获取全国所有城市的坐标的相关文章

java即时通信小例子

学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是在服务上开启一个线程循环等待客户端的连接,为每一个连接到服务器的Socket 创建一个实例存放在集合中,然后使用InputSteam读取从客户端发过来的数据然后转发给除自己之外的所有的客户端 然后是客户端,首先开启一个线程连接都服务器端,循环监听服务器发送回来的数据 这里要说一下为了明确是谁发出的消

java IO文件读写例子(OutputStream,InputStream,Writer,Reader)

一,File创建文件 File file = new File("D:" + File.separator + "yi.txt"); 代码示例: package com.hbut.io; import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) { File file = new File("

Java代理的小例子

利用代理可以在运行时创建一个实现了一组给定接口的新类. 需要一个调用处理器(invocation handler),调用处理器需实现InvocationHandler接口.无论何时调用代理对象的方法,调用处理器的invoke方法都会被调用,并向其传递Method对象和原始的调用参数. 创建代理对象,需要使用Proxy类的newProxyInstance方法.此方法有三个参数: 1.一个类加载器(class loader),null代表默认 2.接口数组 3.一个调用处理器 使用代理的作用: 1.

java中tcp小例子

服务端: ServerSocket service = new ServerSocket(7777); Socket socket = service.accept(); InputStream input = socket.getInputStream(); OutputStream out = socket.getOutputStream(); BufferedInputStream bufinput = new BufferedInputStream(input); BufferedOut

小例子: 获取Linux内置命令的源代码(which + dpkg + apt-get source)

需求: 开发ssvm版本管理系统时,想起uname可以获得linux内核的版本信息,于是想下载uname命令的源代码参考看看 示例: $ which uname [查找uname命令的位置] /bin/uname $ dpkg -S /bin/uname [查找uname属于哪一个开发包中的代码] coreutils: /bin/uname $ apt-get source coreutils [下载相关的包的源source] [下载时,若发生如下问题,解决方法看下方] [sh: dpkg-so

Java加密程序小例子

1:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的. 加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换. package cn.zzsxt.lianxi;import java.util.Scanner;public class Practice { public static void main(String[] args) { System.out.println("请输入一个四位数字:"); Sca

Java从文件路径中获取文件名的几种方法

举例:String fName =” G:\Java_Source\navigation_tigra_menu\demo1\img\lev1_arrow.gif ” 方法一: 1 File tempFile =new File( fName.trim()); 2 String fileName = tempFile.getName(); 方法二: String fName = fName.trim(); String fileName = fName.subString(fName.lastIn

PHP上传文件小例子

<html> <head> </head> <body> <?php echo $_FILES['hello']['error']; echo "start".$_FILES['hello']['type']; echo $_FILES['hello']['size']; echo $_FILES['hello']['tmp_name']."end"; move_uploaded_file($_FILES['he

python获取全国各个城市pm2.5、臭氧等空气质量

随着国家发展,中国很多城市的空气质量其实并不好,国家气象局会有实时统计,但是要去写爬虫爬取是十分麻烦的事情,并且官方网站也会做一些反爬虫措施,所以实现起来比较麻烦,最好的办法就是使用现成的免费接口,空气质量指数分析,这里是笔者自己实现的一个python调用方式,代码如下: # -*- coding: utf-8 -*- # flake8: noqa __author__ = 'wukong' import urllib from urllib import urlencode #配置您申请的ap