java 执行批处理文件.bat 数据库自动备份
1.提前写好备份.bat,放在某个文件夹里,将路径设置在.properties里的
@echo off
set txt=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo %txt%
echo --------------------------------------------------
echo -------------正在执行oracle数据库备份--------------
echo --------------------------------------------
echo ...
echo ...
echo 导出Database...
if exist %txt%.dmp del %txt%.dmp
exp userid=user/user@ORCL file=d:/%txt%.dmp
echo ...
echo ...
echo 备份完成!
exit
2.在XML文件里添加监听
<listener>
<listener-class>
com.dbbackup.DbBackUpListener
</listener-class>
</listener>
3.主程序
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class DbBackUpListener implements ServletContextListener {
// 设置备份间隔时间
int intTime = 60;//这里设置1分钟执行一次
public void contextDestroyed(ServletContextEvent sce) {
}
public void contextInitialized(ServletContextEvent sce) {
ServletContext ctx = sce.getServletContext();
// 取得.bat文件的路径。路径设置到了.properties里
String filePath = PropertyUtil
.getProperty("WEB-INF/test.bat");
PickTask picktask = new PickTask(ctx.getRealPath(filePath));
// 多久执行一次
picktask.start(1, intTime);
}
}
class PickTask {
private Timer timer;
private String fileName = null;
public PickTask(String fileName1) {
this.timer = new Timer();
this.fileName = fileName1;
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
to create Menu @ JAVA & XML ....
first, to tell you how to do. just to fill the following Method provided by Activity.
public boolean onCreateOptionsMenu(Menu menu)
public boolean onOptionsItemSelected(MenuItem item)
public boolean onPrepareOptionsMenu(Menu menu)
3 method above is simple to ......
1. 在工程中创建监听类SessionListener 并且实现HttpSessionListener接口,代码如下
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionListener implements HttpSessionListener {
private static ......
在java程序中,万事万物皆对象,即使是java程序本身,也是一个对象
一、Reference是操纵对象之钥匙
c语言中是使用指针来操纵对象的,但是java呢?用的是reference来操纵对象,我习惯把他叫做句柄,句柄和对象的关系就想是电视遥控器和电视机 ......
我个人理解初始化和清理的关系就是吃饭和上厕所,正是有了初始化的对象,我们才能使用清理。但是为什么要清理呢?想象一下一个人光吃不拉,是个什么情况?:)难道我们的程序也要像吃饭一样光产生对象,而不去清理使用完毕的对象?任由我们的对象堆积如山,占用系统资源?
以构造函数确保初始化的进行
&nb ......