1. 程式人生 > >java 實現定時器修改

java 實現定時器修改

package test;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream;

public class CustsmTimerTask {

	/**
	 * Description: 從本地上傳檔案到共享目錄
	 * 
	 * @Version1.0 Sep 25, 2009 3:49:00 PM
	 * @param remoteUrl
	 *            共享檔案目錄
	 * @param localFilePath
	 *            本地檔案絕對路徑
	 */
	public boolean smbPut(String remoteUrl, String localFilePath) {
		InputStream in = null;
		OutputStream out = null;
		try {
			File localFile = new File(localFilePath);
			String fileName = localFile.getName();
			SmbFile remoteFile = new SmbFile(remoteUrl + "/" + fileName);
			in = new BufferedInputStream(new FileInputStream(localFile));
			out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));
			byte[] buffer = new byte[1024];
			while (in.read(buffer) != -1) {
				out.write(buffer);
				buffer = new byte[1024];
			}
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		} finally {
			try {
				out.close();
				in.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) {
		
		Runnable runnable = new Runnable() {
			public void run() {
				CustsmTimerTask  cstt=new CustsmTimerTask(); 
				boolean a=cstt.smbPut("smb://administrator:'@10.101.238.70/共享", "d://test/aa.csv") ; 
				System.out.println(a);
			}
		};
		ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
		// 第二個引數為首次執行的延時時間,第三個引數為定時執行的間隔時間
		service.scheduleAtFixedRate(runnable, 1, 1440, TimeUnit.MINUTES);
		
	}
	
}