JAVA单机版程序,如何指定在每天凌晨0:00:00执行?

JAVA单机版程序,如何指定在每天凌晨0:00:00执行?,第1张

import javautilCalendar;
import javautilDate;
import javautilTimer;
import javaxservletServletContextEvent;
import javaxservletServletContextListener;
public class HandleTimerTask implements ServletContextListener {
private Timer timer = null; //定时器
private static int DOWNlOAD_HOUR = 0; //执行任务开始时间(时)
private static int DOWNlOAD_MINUTE = 0; //执行任务开始时间(分)
private static int DOWNlOAD_SECOND = 0; //执行任务开始时间(秒)
private long delay; //延时时间值(当前系统时间到下载时间之间的时间差毫秒数)

public void contextInitialized(ServletContextEvent event) {
init();//初始化参数
timer = new Timer(true);//创建Timer对象
//定时执行程序
timerschedule(new Handle(eventgetServletContext()),delay,2460601000);//调用Handle()类(即每天要执行的任务),delay表示延迟毫秒数,0,2460601000表示每隔一天执行一次任务,60601000表示一个小时;
}
public void contextDestroyed(ServletContextEvent event) {
timercancel();
}

/
初始化参数
@return
/
public void init(){
//声明一个Calendar对象
Calendar cal = CalendargetInstance();
//设置时间
calset(CalendarHOUR_OF_DAY, DOWNlOAD_HOUR);
calset(CalendarMINUTE, DOWNlOAD_MINUTE);
calset(CalendarSECOND, DOWNlOAD_SECOND);
Date date = new Date();
//获取设定的时间
date = calgetTime();
//声明当前时间
Date now = new Date();
//获取设定的时间和当前的时间差(毫秒数)
long interval = dategetTime() - nowgetTime();
//如果当前时间大于下载时间,则将下载时间设置为下一个下载时间
if (interval < 0) {
caladd(CalendarDAY_OF_MONTH, 1);//将天数加1
date = calgetTime();
//获取设定的时间和当前的时间差(毫秒数)
interval = dategetTime() - nowgetTime();
}
thisstartTime = date;//初始化开始下载时间
thisdelay = interval;//初始化当前时间到下载时间之间的时间差
}
}
public class Handle extends TimerTask {
private ServletContext context = null;
Timer timer = null; //查询任务定时器

public Handle(ServletContext context)
{
thiscontext = context;
}
/
开始执行
/
public void run() {
//开始执行
contextlog("开始执行!");
}
}
用延迟时间可以实现,添加了一个init()方法用来计算延时数,不管什么时候启动服务,都可以根据当前系统时间和执行任务的开始时间计算出延时时间毫秒数。
虽然没有分,还是希望能帮助你。 ^_^

我这里有一个例子希望能够帮助你

public class Client{
private Socket socket;
try{
Socket socket=new Socket ("localhoast',8088);
ip=InetAddressgetLocalHost();
String localip=ipgetHostAddress();
Systemoutprintln(localip);
String name=ipgetHostName();
Systemoutprintln(name);
}
catch(Exception e){

}
public void start(){
try{
Run r2=new Run();
Thread t1=new Thread(r2);
t1setDaemon(true);
t1start();

Scanner sc=new Scanner(Systemin);
OutputStream os=socketgetOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(os);
PrintWriter writer=new PrintWriter(osw,true);

while(true){
writerprintln(scnextLine());
}
}catch(Exception e){
}
}
public static void main(String args[]){
Client client=new Client();
clientstart();
}
class Run implements Runnable{
public void run() {
while(true){
try {
InputStream is=socketgetInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
while(true){
String str=brreadLine();
Systemoutprintln("服务器说:"+str);
if("bye"equals(str)){
Systemoutprintln("再见客户端");
Systemoutprintln("聊天结束");

}
}
} catch (IOException e) {
eprintStackTrace();
} finally{
try {
socketclose();
} catch (IOException e) {
eprintStackTrace();
}
}
}

}
}
}

你在s变化之前就已经定义了
File f=new File("d:\\aa\\"+s+"txt");
这时候s为空,
在你调用fcreateNewFile()的时候,用的f是File f=new File("d:\\aa\\"+s+"txt");这个时候的f。s改变后需要重新为f赋值。在s=t1getText();后面加上f=new File("d:\\aa\\"+s+"txt");就可以了。

一、要创建一个Frame或者JFrame现在基本上都用后者
二、要建立你的控件,就是面板Jpanel菜单JMenu\JMenuItem等,写字板textArea等,
三、动作监听器,addActionListener
四、就是你的布局了
一下是一个可以运行的,你看看
package mySwing;
import javaxswing;
import javaxswingevent;
import javaawt;
import javaawtevent;
import javaio;
import javaawtcolor;
import javaawtfont;
import javaxswingplafmetalMetalLookAndFeel;
import javaxswingundo;
public class Note extends JFrame {
boolean isChange = false;
boolean wasChange = false;
JMenuBar menuBar = new JMenuBar();

JMenu menuFile = new JMenu("File");

JMenuItem menuFileOpen = new JMenuItem("Open");
JMenuItem menuFileSave = new JMenuItem("Save");
JMenuItem menuFileExit = new JMenuItem("Exit");
JMenu menuEdit = new JMenu("Edit");
JMenuItem menuFileCut = new JMenuItem("Cut");
JMenuItem font = new JMenuItem("Font");

JMenuItem menuFilePaste = new JMenuItem("Paste");
JTextArea fileArea = new JTextArea();
public Note() {
//menuFilesetIcon(new ImageIcon("D:\\���컢���ļ�\\eclipswork\\MyTest\\bin\\removepng"));
// fileAreasetBorder(BorderFactorycreateTitledBorder("mytextArea"));
thissetTitle("���±�");
Toolkit tool = thisgetToolkit();// ����ͼ�꣡
Image myimage = toolgetImage("����jpg");
thissetIconImage(myimage);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
exit();
}
});
menuFileOpenaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//fileOpen_actionPerformed(e);

}
});
menuFileSaveaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileSave_actionPerformed(e);
}
});
menuFileExitaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileExit_actionPerformed(e);
}
});
menuFileCutaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileCut_actionPerformed(e);
}
});
menuFilePasteaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
filePaste_actionPerformed(e);
}
});
fontaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileColor_actionPerformed(e);
}
});
fileAreagetDocument()addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent e) {
wasChange = isChange;
isChange = true;
}
public void removeUpdate(DocumentEvent e) {
wasChange = isChange;
isChange = true;
}
public void changedUpdate(DocumentEvent e) {
wasChange = isChange;
isChange = true;
}
});
setSize(500, 450);
menuBaradd(menuFile);
menuFilesetMnemonic('F');
menuBaradd(menuEdit);
menuEditsetMnemonic('E');
menuFileadd(menuFileOpen);
menuFileOpensetMnemonic('O');// ���ʽ�;
menuFileOpensetAccelerator(KeyStrokegetKeyStroke(KeyEventVK_O,
InputEventCTRL_MASK));// ��ݽ�;
menuFileadd(menuFileSave);
menuFileSavesetMnemonic('S');
menuFileSavesetAccelerator(KeyStrokegetKeyStroke(KeyEventVK_S,
InputEventCTRL_MASK));
menuFileaddSeparator();
menuFileadd(menuFileExit);
menuFileExitsetMnemonic('E');
menuEditadd(menuFileCut);
menuFileCutsetMnemonic('C');
menuFileCutsetAccelerator(KeyStrokegetKeyStroke(KeyEventVK_C,
InputEventCTRL_MASK));
menuEditadd(menuFilePaste);
menuFilePastesetMnemonic('P');
menuFilePastesetAccelerator(KeyStrokegetKeyStroke(KeyEventVK_P,
InputEventCTRL_MASK));
menuEditadd(font);
fontsetMnemonic('N');
fontsetAccelerator(KeyStrokegetKeyStroke(KeyEventVK_N,
InputEventCTRL_MASK));
thisgetContentPane()add(new JScrollPane(fileArea));
setJMenuBar(menuBar);
fileAreasetLineWrap(true);
}
public void fileExit_actionPerformed(ActionEvent e) {
Systemexit(0);
}
public void fileOpen_actionPerformed(ActionEvent e) {
// ������filter;
JFileChooser fileChooser = new JFileChooser();
// fileChooseraddChoosableFileFilter(new
// myFilter("txt","Files(txt)"));
fileChooseraddChoosableFileFilter(fileChoosergetFileFilter());
if (fileChooserAPPROVE_OPTION != fileChoosershowOpenDialog(this))
return;
// �������ļ���
BufferedReader dataIn = null;
try {
dataIn = new BufferedReader(new FileReader(fileChooser
getSelectedFile()getPath()));
String c = null;
do {
c = dataInreadLine();
if (c != null)
fileAreaappend(c + "\n");
} while (c != null);
} catch (Exception ex) {
Systemoutprintln("Catch exception:" + extoString());
}
}
public void exit() {
if (isChange == false)
Systemexit(1);
else {
int decision = JOptionPaneshowConfirmDialog(this,
"The File has Change\n"
+ "Do you want to save the change", "Notepad",
JOptionPaneYES_NO_CANCEL_OPTION,
JOptionPaneWARNING_MESSAGE);
if (decision == JOptionPaneYES_OPTION) {
// �����ǽ��ļ�д������!
try {
JFileChooser fileSave = new JFileChooser();
fileSavesetDialogTitle("�����ļ�");
// fileSaveaddChoosableFileFilter(new
// myFilter("txt","Files(txt)"));
fileSaveaddChoosableFileFilter(fileSavegetFileFilter());
if (fileSaveAPPROVE_OPTION != fileSave
showSaveDialog(this))
return;
BufferedWriter dataOut = new BufferedWriter(
new BufferedWriter(new FileWriter(fileSave
getSelectedFile())));
String c = null;
isChange = false;
do {
String str = fileAreagetText();
dataOutwrite(str);
dataOutclose();
} while (c != null);
} catch (Exception e2) {
Systemoutprintln("Catch exception:���!" + e2toString());
}
} else if (decision == JOptionPaneNO_OPTION)
Systemexit(1);
else if (decision == JOptionPaneCANCEL_OPTION)
;
;
}
// innerclassfileSave_actionPerformed();
}
public void fileSave_actionPerformed(ActionEvent e1) {
// �����ǽ��ļ�д������!
try {
JFileChooser fileSave = new JFileChooser();
fileSavesetDialogTitle("�����ļ�");
// fileSaveaddChoosableFileFilter(new
// myFilter("txt","Files(txt)"));
fileSaveaddChoosableFileFilter(fileSavegetFileFilter());
if (fileSaveAPPROVE_OPTION != fileSaveshowSaveDialog(this))
return;
BufferedWriter dataOut = new BufferedWriter(new BufferedWriter(
new FileWriter(fileSavegetSelectedFile() + "txt")));
// RandomAccessFile dataOut=new
// RandomAccessFile(fileSavegetSelectedFile(),"rw");
String c = null;
isChange = false;
do {
String str = fileAreagetText();
dataOutwrite(str);
dataOutclose();
} while (c != null);
} catch (Exception e2) {
Systemoutprintln("Catch exception:���!" + e2toString());
}
}
public static void main(String arg[]) {
//new MyUIManager();
Note nt = new Note();
JLookAndFeelMenu menu = new JLookAndFeelMenu(nt);
ntmenuBaradd(menu);
ntshow();
}
public void fileCut_actionPerformed(ActionEvent e) {
fileAreacut();
}
public void filePaste_actionPerformed(ActionEvent e) {
fileAreapaste();
}
public void fileColor_actionPerformed(ActionEvent e) {
JColorChooser fileColor = new JColorChooser();
// fileAreasetForeground(fileColorshowDialog(this,"��ɫ",Colorred));
// fileAreasetSelectionColor(fileColorshowDialog(this,"��ɫ",Colorred));
fileAreasetSelectionColor(fileColor
showDialog(this, "��ɫ", Colorblack));
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12654415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存