java 實現定時器修改
阿新 • • 發佈:2019-01-24
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); } }