java 自动写读写属性文件 小弟现在需要实现一个每天都要自动的从数据库查询一次数据,然后写成资源文件,需要如何实现,请名位帮帮忙!!!急用啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java有个TimerTask,你找找相关资料吧。 用Timer 。写个类继承TimerTask,重写run方法实现你的从据库查询一次数据然后调用timer的schedule(TimerTask task, Date time) 方法 task - 所要安排的任务。time - 执行任务的时间。 楼上的说的都不错。不过spring的监听也可以的。 conn = DriverManager.getConnection(url,username,pwd);为什么执行到这句话后就不能往下运行了。也就是我再连接数据库以后他就不看走了。是什么原因啊!!! package com.readfile.lianxi;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Timer;public class TimerTest {public static void main(String[] args){Timer timer = new Timer();timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了try {int ch = System.in.read();if(ch-'c'==0){timer.cancel();//使用这个方法退出任务}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}static class MyTask extends java.util.TimerTask{ Connection conn = null; String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/auto_info"; String username = "root"; String pwd = "root"; PreparedStatement pstat = null; ResultSet rs = null; public void run() { try { Class.forName(driver); System.out.println("_________________"); conn = DriverManager.getConnection(url,username,pwd); System.out.println("--------------------"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }虚线部分不运行!!! 错误信息有没,贴出来,虚线部分是连接问题?不执行就会出错的吧,要不timeout?? public static void main(String[] args){ Connection conn = null; String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/auto_info"; String username = "root"; String pwd = "root"; PreparedStatement pstat = null; Statement stat = null; ResultSet rs = null; String sql = "select * from autodealer"; try { Class.forName(driver); System.out.println("_________________"); conn = DriverManager.getConnection(url,username,pwd); System.out.println("------------"); pstat = conn.prepareStatement(sql); rs = pstat.executeQuery(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }}运行没问题,只要用到定时器的话就走不下去了。楼上是说时间溢出吗?我改成10秒钟运行一次,它还是不走。 package com.readfile.lianxi;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Timer;public class TimerTest {public static void main(String[] args){ Timer timer = new Timer();timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.}static class MyTask extends java.util.TimerTask{ public void run() { Connection conn = null; String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/auto_info"; String username = "root"; String pwd = "root"; PreparedStatement pstat = null; Statement stat = null; ResultSet rs = null; String sql = "select * from autodealer"; try { Class.forName(driver); conn = DriverManager.getConnection(url,username,pwd); pstat = conn.prepareStatement(sql); rs = pstat.executeQuery(); while(rs.next()){ System.out.println("我成功了!!!"); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }这是源代码,现在已经没问题了,已经能正常访问数据了。 有人做过基于LUCENE搜索引擎方面的东西吗?求指导. 急!求助 ssh整出来的小问题问题?在线等待.... sqlstate=42908 用Spring JdbcTemplate 查询出的Map,是如何产生大小写忽略的Key的? 用struts+Spring+Hibernate框架开发一个创建树的问题,征求方法 新手问关于tomcat下程序的运行错误的问题(在线等!!) Struts的循环标签问题,求教高手 设计问题 weblogic7中connection pools问题 <c:forEach> 遍历Map中的List,怎么只遍历一个 struts2 文件上传问题
然后调用timer的schedule(TimerTask task, Date time) 方法
task - 所要安排的任务。
time - 执行任务的时间。
import java.io.IOException;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Timer;public class TimerTest {public static void main(String[] args){Timer timer = new Timer();timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了try {int ch = System.in.read();if(ch-'c'==0){timer.cancel();//使用这个方法退出任务}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
static class MyTask extends java.util.TimerTask{ Connection conn = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/auto_info";
String username = "root";
String pwd = "root";
PreparedStatement pstat = null;
ResultSet rs = null;
public void run() {
try {
Class.forName(driver);
System.out.println("_________________");
conn = DriverManager.getConnection(url,username,pwd);
System.out.println("--------------------");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } } }
虚线部分不运行!!!
Connection conn = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/auto_info";
String username = "root";
String pwd = "root";
PreparedStatement pstat = null;
Statement stat = null;
ResultSet rs = null;
String sql = "select * from autodealer";
try {
Class.forName(driver);
System.out.println("_________________");
conn = DriverManager.getConnection(url,username,pwd);
System.out.println("------------");
pstat = conn.prepareStatement(sql);
rs = pstat.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
运行没问题,只要用到定时器的话就走不下去了。楼上是说时间溢出吗?我改成10秒钟运行一次,它还是不走。
import java.io.IOException;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Timer;public class TimerTest {public static void main(String[] args){
Timer timer = new Timer();timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.}
static class MyTask extends java.util.TimerTask{ public void run() {
Connection conn = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/auto_info";
String username = "root";
String pwd = "root";
PreparedStatement pstat = null;
Statement stat = null;
ResultSet rs = null;
String sql = "select * from autodealer";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,username,pwd);
pstat = conn.prepareStatement(sql);
rs = pstat.executeQuery();
while(rs.next()){
System.out.println("我成功了!!!");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } } }
这是源代码,现在已经没问题了,已经能正常访问数据了。