JAVA获取天气_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > JAVA获取天气

JAVA获取天气

 2014/12/9 13:07:51  superlxw1234  程序员俱乐部  我要评论(0)
  • 摘要:packagejavaapplication1;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.net.MalformedURLException;importjava.net.URL;importjava.util.regex.Matcher;importjava.util.regex
  • 标签:Java

?

class="java" name="code">package javaapplication1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Weather {
	public static String getWeather(String cityCode) {
		String result = "";
		Pattern pattern = Pattern.compile(".*?\"weather\":\"(.*?)\",.*");
		try {
			URL url = new URL("http://www.weather.com.cn/data/cityinfo/" + cityCode + ".html");
			InputStream in = url.openStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(in, "utf-8"));
			String line = br.readLine();
			if(null == line) {
				return result;
			} else {
				Matcher matcher = pattern.matcher(line);
				if(matcher.find()) {
					result = matcher.group(1);
				}
			}
			System.out.println(line);
			br.close();
			in.close();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return result;
	}
	
	public static void main(String[] args) {
		System.out.println(Weather.getWeather("101110101"));
	}
}

?

?

运行结果 :

{"weatherinfo":{"city":"西安","cityid":"101110101","temp1":"4℃","temp2":"0℃","weather":"雨夹雪转小雪","img1":"d6.gif","img2":"n14.gif","ptime":"11:00"}}
雨夹雪转小雪

?用json解析是最合适的,但不想引入其他包,直接用正则解析了。

城市代码表见附件。

?

  • areaid_f.rar (22.9 KB)
  • 下载次数: 0
上一篇: 中国十大IT行业名校 下一篇: 没有下一篇了!
发表评论
用户名: 匿名