import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Arrays;
import java.sql.*;
import java.util.Timer;
import java.io.IOException; public class Weather {
String urlString;
String array;
String tianqi;
StringBuffer sb=new StringBuffer(""); public static void main(String[] args) throws Exception { Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 10000);
while (true) {
try {
int ch = System.in.read();
if (ch - 'c' == 0) {
timer.cancel();
}
} catch (IOException e) {
e.printStackTrace();
}
}
} static class MyTask extends java.util.TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
Weather client = new Weather("http://www.weather.com.cn/weather/101181201.shtml");
try {
client.run();
}catch(Exception e) { e.printStackTrace(); }
}
} public Weather(String urlString) {
this.urlString = urlString;
} public void run() throws Exception { URL url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection
.getInputStream(),"utf8"));
String line; while ((line = reader.readLine()) != null){
Pattern p = Pattern.compile("<p class=\"wea\">(.+?)</p>");
Matcher m = p.matcher(line);
while(m.find()) {
array = m.group(1);
sb.append(array+",");
}
} String arr = sb.toString();
String[] s = arr.split("\\,");
tianqi=s[s.length - 7]; String driver = "com.mysql.jdbc.Driver";
String urls = "jdbc:mysql://127.0.0.1:3306/scutcs";
String user = "root";
String password = "root"; try { Class.forName(driver); Connection conn = DriverManager.getConnection(urls, user, password); if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!"); Statement statement = conn.createStatement(); String sql = "UPDATE `scutcs`.`student` SET `SNAME` = '"+tianqi+"' WHERE `student`.`SNO` = '2';";
System.out.println(sql); //ResultSet rs = statement.executeQuery(sql);
statement.executeUpdate(sql); //rs.close();
conn.close(); } catch(ClassNotFoundException e) { System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } }

  

我的第五个java程序 每过10秒读取一次天气 并把天气更新到mysql数据库里的更多相关文章

  1. 分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)

    原文:分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要) XML文件 <?xml version="1.0"?> <student ...

  2. 【docker】centOS7上部署的mysql和spring boot服务,要求,mysql的时间、java程序服务的时间和宿主机的时间完全保持一致【修改mysql时区,临时和永久】【修改spring boot配置文件时区】【修改docker启动spring boot实例程序时区】

    要求:centOS7上部署的mysql和spring boot服务,要求,mysql的时间.java程序服务的时间和宿主机的时间完全保持一致: ============================ ...

  3. [转]成为优秀Java程序员的10大技巧

    转自:http://www.codeceo.com/article/10-good-java-programmer-tips.html Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开 ...

  4. 优秀Java程序员必备10招

    1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 ObjectOriented Programming(面向对象编程)这一概念是必须的.没有 OOPS 的坚实基础,就领会不 ...

  5. Java程序员的10道XML面试题

    包括web开发人员的Java面试在内的各种面试中,XML面试题在各种编程工作的面试中很常见.XML是一种成熟的技术,经常作为从一个平台到其他平台传输数据的标准.XML面试问题包括用于转换XML文件的X ...

  6. Java程序员的10道XML面试题 (转)

    包括web开发人员的Java面试在内的各种面试中,XML面试题在各种编程工作的面试中很常见.XML是一种成熟的技术,经常作为从一个平台到其他平台传输数据的标准.XML面试问题包括用于转换XML文件的X ...

  7. 如何写一份优秀的java程序员简历

    背景:进入第一家公司已经工作将近两年了,其中闲了一年,在准备自己的简历的时候,有种江郎才尽的感觉,不知道怎么写,看来平时还是要多积累多熟悉. ps:这里面的分享看完还是很受用的. 简历看得比较认真的, ...

  8. 说说Java程序和数据库交互的乱码解决

    本文就本人遇到的问题进行讲解 1.通过jdbc直连方式,连接Mysql数据库,从程序向数据库中写入数据出现的乱码解决方案. 当通过程序向Student表中写入一条数据时,写入数据库的内容会产生乱码. ...

  9. Mongodb到mysql数据库的数据迁移(Java,Windows)

    运行环境为windows 测试过260万的数据表,迁移大概要10分钟左右,当然肯定和网络,字段大小什么的有关系. 遇到的坑和注意点都用紫色标记了(对,就是我大乃团的高冷紫--Nogizaka 46) ...

随机推荐

  1. php实现简单视图模板(视图引擎)

    视图 视图,你所看见的部分. <?php echo 'hello, world'; 从简单开始理解 这就是个视图文件中的代码,没错就这么简单.视图,实际上是在 MVC 这种架构上提出的.MVC ...

  2. windows SFC(System File Checker) 命令的使用

    SFC(System File Checker)可以扫描所有受保护的系统文件的完整性,并使用正确的 Microsoft 版本替换. 步骤:点击开始,输入cmd: 右键,以管理员身份运行 输入sfc/s ...

  3. WebLogic Cluster Sevlet的配置

    虽然生产环境中不建议使用,但因为客户需要考试可能用到,所以又做了一遍 1. 配置受管Server,ProxyServer,过程略 2.构建Proxy Application 建立一个ProxyApp的 ...

  4. linux:使用comm命令比较两个文件:交集、差

    linux:使用comm命令比较两个文件:交集.差 comm命令可以按行比较两个排序好的文件,输出有3列:第一列是file1独有的.第二列是file2独有的,第三列是两者都有的,简单语法如下:NAME ...

  5. Thinkphp2.1爆出重大安全漏洞

    thinkphp 2.1的版本 我们来分析下漏洞吧 官方发布了一个安全补丁 表述是:该URL安全漏洞会造成用户在客户端伪造URL,执行非法代码. 官方的补丁: /trunk/ThinkPHP/Lib/ ...

  6. 安装notepad++ in ubuntu16.04

    一.安装notepad++ Ubuntu下的安装方法: sudo add-apt-repository ppa:notepadqq-team/notepadqq sudo apt-get update ...

  7. Zookeeper的集群安装和配置

    zk服务器集群规模不小于3个节点,要求各服务器之间系统时间要保持一致. 在master节点的/home/hadoop目录下,解压缩zk....tar.gz,具体安装的路径自选 解压后重命名该文件夹为z ...

  8. Spring AOP实现拦截转发控制

    import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...

  9. POJ3525-Most Distant Point from the Sea(二分+半平面交)

    Most Distant Point from the Sea Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 3955   ...

  10. iOS 使用AFNetWorking监听APP网络状态变化(可用于更改缓存策略、提示网络等)

    前言 我们知道在APP开发过程中.监听手机当前的网络状态还是一个非经常常使用的方法,这里我来为大家接受一种使用AFNetWorking来监听当前的网络状态的方法:网络监听对程序开发的帮助有非常多:比方 ...