import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;
public class Weather {
String cityid;
URLConnection connectionData;
StringBuilder sb;
BufferedReader br;
JSONObject jsonData;
JSONObject info;
public Weather(String cityid) throws IOException,NullPointerException{
this.cityid = cityid;
URL url = new URL("http://m.weather.com.cn/data/"+cityid+".html");
connectionData = url.openConnection();
connectionData.setConnectTimeout(1000);
try{
br = new BufferedReader(new InputStreamReader(connectionData.getInputStream(), "utf-8"));
sb = new StringBuilder();
String line = null;
while((line = br.readLine()) != null)
sb.append(line);
}catch (SocketTimeoutException e) {
System.out.println("连接超时");
}catch(FileNotFoundException e){
System.out.println("加载文件出错");
}
String datas = sb.toString();
jsonData = JSONObject.fromObject(datas);
info = jsonData.getJSONObject("weatherinfo");
List> list = new ArrayList>();
for(int i=1;i<=6;i++){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR,i-1);
Date date = cal.getTime();
SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日");
Map map = new HashMap();
map.put("city", info.getString("city").toString());
map.put("date_y", sf.format(date));
map.put("week", getWeek(cal.get(Calendar.DAY_OF_WEEK)));
map.put("fchh", info.getString("fchh").toString());
map.put("weather", info.getString("weather"+i).toString());
map.put("temp", info.getString("temp"+1).toString());
map.put("wind", info.getString("wind"+1).toString());
map.put("fl", info.getString("fl"+1).toString());
map.put("index", info.getString("index").toString());
map.put("index_uv", info.getString("index_uv").toString());
map.put("index_tr", info.getString("index_tr").toString());
map.put("index_co", info.getString("index_co").toString());
map.put("index_cl", info.getString("index_cl").toString());
map.put("index_xc", info.getString("index_xc").toString());
map.put("index_d", info.getString("index_d").toString());
list.add(map);
}
for(int j=1;j
Map wMap = list.get(j);
System.out.println(wMap.get("city")+"\t"+wMap.get("date_y")+"\t"+wMap.get("week")+wMap.get("weather")+"\t"+wMap.get("temp")+"\t"+wMap.get("index_uv"));
}
}
public String getWeek(int iw){
String weekStr = "";
switch (iw) {
case 1:
weekStr = "星期天";
break;
case 2:
weekStr = "星期一";
break;
case 3:
weekStr = "星期二";
break;
case 4:
weekStr = "星期三";
break;
case 5:
weekStr = "星期四";
break;
case 6:
weekStr = "星期五";
break;
case 7:
weekStr = "星期六";
break;
default:
break;
}
return weekStr;
}
public static void main(String[] args){
try{
new Weather("101010100");//北京市
}catch (Exception e) {
e.printStackTrace();
}
}
}
- JQuery-Ajax后台提交数据与获取数据 Java代码
function jqajax(){ var urlName = $("#urlName").val(); var urla = $("#url").val() ...
- java获取天气预报的信息
运行效果: 主要功能: 1,jsp页面输入省份和城市 根据条件获取当地的天气信息 2,java代码 利用第三方的省份和城市的路径地址 本工程主要实现java获取天气预报的信息步骤1,创建工程weath ...
- jsp中Java代码中怎么获取jsp页面元素
举例,页面元素<td><input value="${sl }" type="text" id="sl" name=& ...
- java代码中获取进程process id(转)
另一方面,线程ID=进程ID+内部线程对象ID并不成立, 参考: blog.csdn.net/heyetina/article/details/6633901 如何在java代码中获取进 ...
- 用JAVA代码获取Weblogic配置的JNDI 数据源连接
第一步:生成与JDK版本对应的weblogicjar,利用cmd 进入到weblogic_home 路径下进入到server/lib目录,然后运行 JDK 1.6 命令 "java -j ...
- Java代码中获取Json的key值
测试json字符串: {"access_token":"hkbQl5o_l67dZ7_vJRATKBwTLk9Yj5QyMuOJThAr8Baj0xWf4wxW1p4ym ...
- java代码获取客户端的真实ip
java代码获取客户端的真实ip protected String getIpAddr(HttpServletRequest request) { String ip = request.getHea ...
- Java代码获取NTP服务器时间
apache的commons-net包下面有ntp相关的实现类,主要类有: 1 org.apache.commons.net.ntp.NTPUDPClient ? 1 org.apache.com ...
- JNDI实现服务器(tomcat)与数据库(mysql)连接的数据源配置以及获取连接的java代码
->首先将mysql的jar包导入到tomcat/lib文件夹下 ->然后在tomcat/conf/context.xml文件中配置以下内容 <Resource name=" ...
随机推荐
- 做新时代的奋斗者!(好吧,我还没弄出python的编译环境)
Pictures: 今日分来的补记来嘞: Game 1:Guess the number. Python包含许多内建的函数,有些函数存在于称为模块的单独的程序中,可以使用import语句把它们的模块导 ...
- Git的基本使用 -- 创建本地仓库
下载安装 Git-2.25.0-64-bit .exe 查看是否安装成功 git --version 创建本地仓库 创建一个文件夹用于存放项目文件 在创建好的文件中右键选择 Git Bash Here ...
- C#中对虚拟属性和抽象属性的重写有什么异同
public abstract class A { //抽象属性不能有实现代码 public abstract strin ...
- SqlDataReader阅读器关闭时尝试调用 HasRows 无效
SqlDataReader阅读器关闭时尝试调用 HasRows 无效 原创长白山上放羊娃 发布于2018-07-25 00:29:27 阅读数 538 收藏 展开 在SqlHelper中封装好的Sq ...
- The Reason Why Cosmetic Airless Bottles Are Widely Used
The contents of the Cosmetic Airless Bottles can be isolated from the air, to prevent the product ...
- bugku 宽带信息泄露
首先下载文件 下载完成后发现是一个后缀名为 bin 的文件 然后找百度查一下这是什么文件的后缀名 看一下题目 然后用软件routerpassview打开(搜的教程) 然后打开文件 搜索username ...
- HBase 启动后HMaster进程自动消失
原因分析 1.hadoop 与 hbase 版本不兼容,导致的异常. 2.log日志信息显示 org.apache.hadoop.hbase.TableExistsException: hbase:n ...
- Go流程结构(if)
一.程序的流程结构 程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构. 顺序结构:从上向下,逐行执行. 选择结构:条件满足,某些代码才会执行.0-1次 分支语句:if,switch,sele ...
- 每日扫盲(五):RPC(Remote Procedure Call)
作者:洪春涛链接:https://www.zhihu.com/question/25536695/answer/221638079来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- Maven工程pom中定义jdk版本
今天把之前做的项目导进eclipse,然后发现报错,一些类在1.6中不支持,需要将JDK版本设置为1.7,我直接通过eclipse中的提示进行更改,然后update project一下,发现又回到了S ...