亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainframe.java

?? Swing+FtpClient實現 支持文件、文件夾上傳 支持文件、文件夾下載 支持文件重命名 支持文件刪除等功能
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
							System.out.println(cmd);
							ftp.sendServer(cmd);
							ftp.binary();							
							int reply = ftp.readServerResponse();//等待返回結果
							if(reply==200){
								loadRemoteFile();
							}
						} catch (IOException e1) {
							// TODO Auto-generated catch block
							JOptionPane.showMessageDialog(this, "刪除文件失敗 異常信息("+e1.getMessage()+")","錯誤",JOptionPane.ERROR_MESSAGE);
							e1.printStackTrace();
						}					
					}
				}				
			}
		}
		if(e.getSource()==Rproperty){
			InstallData d = (InstallData)list_remote.getSelectedValue();
			if(d!=null){
				FileBean fb = (FileBean)d.getValue();	
				new PropertyWindow(fb,Rx,Ry).setVisible(true);
			}
		}
		if(e.getSource()==Rload){
			loadRemoteFile();
		}
		if(e.getSource()==Rdownload){			
			InstallData d = (InstallData)list_remote.getSelectedValue();
			if(d!=null){
				FileBean fb = (FileBean)d.getValue();	
				FileDownLoadUtil down = new FileDownLoadUtil();
				down.addObserver(this);
				if(fb.getType().equals("文件夾")){
					down.download(remotePath+fb.getFileName()+"/", localPath+"/"+fb.getFileName(), fb, host, userName, passWord);
				}else{
					down.download(remotePath, localPath, fb, host, userName, passWord);
				}
			}			
		}
	}	
	
	
	
	    public class removeTB implements Runnable{

	    	boolean canBeClear = true;
			@Override
			public void run() {
				// TODO Auto-generated method stub
				Label:while(ftp.serverIsOpen()){					
					if(upList!=null&&upList.size()>0){//所有線程已經執行完畢						
						for(int i=0;i<tb_progress.getRowCount();i++){
							if(!"上傳完畢".equals(tb_progress.getModel().getValueAt(i, 4))){
								continue Label;
							}//end if
						}//end for
						clearInfo();
					}				//end if	
				}				//end while
			}    	//end run
	    }
	
	/***
	 * 文件上傳處理類
	 * @author lzkj
	 *
	 */
		public class upLoadThread implements Runnable{
		private UpLoadBean ub;
		private FtpClient ftpClient;	
		
		public upLoadThread(UpLoadBean ub){
			this.ub = ub;			
			this.ftpClient = new FtpClient();
			ftpClient = getFtp();						
		}
		
		public void upLoadFile(FileBean fb,String path){
			TelnetOutputStream os = null;  
			FileInputStream is = null ; 			
			try {
				ftpClient.cd(path);
				ftpClient.binary();
				os = ftpClient.put(fb.getFileName());  
				is = new FileInputStream(new File(fb.getFilePath()));  
				byte[] bytes = new byte[1024];
				int tbt = 0;
				int size = (int)fb.getSize();				
			    int c;  
			    long s = System.currentTimeMillis();
			    long e;					
				try {
					Thread.currentThread().sleep(1000);
				} catch (InterruptedException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			    while ((c = is.read(bytes)) != -1) {					   
			    	os.write(bytes, 0, c);
			    	e = System.currentTimeMillis()+10;
			    	tbt+=c;
			    	tb_progress.getModel().setValueAt(size<1?"100%":((tbt*100)/size)+"%", ub.getRowIndex(), 2);
			    	tb_progress.getModel().setValueAt(e-s<1?"0 (kb/s)":(1024*tbt)/((e-s)*1000)+" (kb/s)", ub.getRowIndex(), 3);
			    	tb_progress.updateUI();
			    }  
			    tb_progress.getModel().setValueAt("上傳完畢", ub.getRowIndex(), 4);					    
			    tb_progress.updateUI();
//			    repaint();
				os.close();
				is.close();											
			} catch (IOException e1) {
				tb_progress.getModel().setValueAt("0%", ub.getRowIndex(), 2);
		    	tb_progress.getModel().setValueAt("0 (kb/s)", ub.getRowIndex(), 3);
		    	tb_progress.getModel().setValueAt("上傳失敗("+e1.getMessage()+")", ub.getRowIndex(), 4);					    
			    tb_progress.updateUI();
				e1.printStackTrace();
			}finally{
				try {
					if(os!=null&&is!=null){
						os.close();
						is.close();	
//						ftpClient.closeServer();
					}					
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}			
			}
		}
		
		@Override
		public void run() {
			// TODO Auto-generated method stub
			if(ftpClient.serverIsOpen()){
				if(ub.getFb().getType().equals("文件")){					
					upLoadFile(ub.getFb(),ub.getRemotePath());
				}
			}//end if
			else{//服務器已經關閉
				JOptionPane.showMessageDialog(MainFrame.this, "服務器已經關閉,操作失敗","錯誤",JOptionPane.ERROR_MESSAGE);
			}
			try {
				Thread.currentThread().sleep(2000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}			
		}//end run			
	}


	
	/**
	 * 文件下載處理類
	 * @author lzkj
	 *
	 */
	public class downLoadThread implements Runnable{

		private FileBean fb;
		
		public downLoadThread(FileBean fb){
			this.fb = fb;
		}
		@Override
		public void run() {
			// TODO Auto-generated method stub
			
		}
		
	}

	
	@Override
	public void update(Observable o, Object arg) {
		// TODO Auto-generated method stub
		if(arg instanceof String){
			String temp = (String)arg;
			System.out.println(arg);
			if(temp.equals("LOCAL_RENAME_OK")){
				loadLocalFile();
			}
			if(temp.equals("REMOTE_RENAME_OK")){
				loadRemoteFile();
			}
			if(temp.equals("DOWNLOAD_FINISH")){
				loadLocalFile();
//				JOptionPane.showMessageDialog(null, "下載文件成功","提示",JOptionPane.DEFAULT_OPTION);
			}
		}
	} 
	
	
	public  boolean upLoad(String Rpath,String fileName,FtpClient ftp){
		System.out.println("Rpath:"+Rpath);
		System.out.println("fileName:"+fileName);
		String localRootPath = PathUtil.rePlace(fileName);
		System.out.println("localRootPath:"+localRootPath);
		String remoteRootPath = Rpath;
		File rootFile = new File(fileName);
		if(rootFile.isDirectory()){	
			if(!createDir(remoteRootPath,PathUtil.getFolderName(fileName),ftp)){
				System.out.println("創建遠程根文件夾"+remoteRootPath+fileName+"/失敗");
				return false;
			}
			remoteRootPath = remoteRootPath+PathUtil.getFolderName(fileName)+"/";
			String[] fs = rootFile.list();		
			for(int i=0;i<fs.length;i++){
				File subFile = new File(localRootPath+"/"+fs[i]);
				if(subFile.isDirectory()){
					upLoad(remoteRootPath,localRootPath+"/"+fs[i],ftp);//遞歸		
				}//end if
				else{
					//文件上傳
					FileBean fb = new FileBean();
					fb.setFileName(subFile.getName());
					fb.setFilePath(subFile.getAbsolutePath());
					fb.setSize(subFile.length());
					fb.setTime(new Long(subFile.lastModified()).toString());
					fb.setType("文件");
//					new Thread(new upLoadThread(fb,remoteRootPath)).start();
					UpLoadBean ub = new UpLoadBean();
					ub.setFb(fb);
					ub.setRemotePath(remoteRootPath);
					upList.add(ub);
					int size = (int)fb.getSize();
					int bk = (size/1024)<1?1:(size/1024);
					String bsize = bk+"K";
					if(bk>1024){
						bk = bk/1024;
						bsize = bk+"M";
					}
					Object[] obj = new Object[]{fb.getFileName(),bsize,"0%","0 (kb/s)","準備上傳"};
					((javax.swing.table.DefaultTableModel)(tb_progress.getModel())).addRow(obj);
					tb_progress.updateUI();
					ub.setRowIndex(RowCount++);
				}
			}//end for
		}else{
			//文件上傳
			FileBean fb = new FileBean();
			fb.setFileName(rootFile.getName());
			fb.setFilePath(rootFile.getAbsolutePath());
			fb.setSize(rootFile.length());
			fb.setTime(new Long(rootFile.lastModified()).toString());
			fb.setType("文件");
//			new Thread(new upLoadThread(fb,remoteRootPath)).start();
			UpLoadBean ub = new UpLoadBean();
			ub.setFb(fb);
			ub.setRemotePath(remoteRootPath);
			upList.add(ub);
			int size = (int)fb.getSize();
			int bk = (size/1024)<1?1:(size/1024);
			String bsize = bk+"K";
			if(bk>1024){
				bk = bk/1024;
				bsize = bk+"M";
			}
			Object[] obj = new Object[]{fb.getFileName(),bsize,"0%","0 (kb/s)","準備上傳"};
			((javax.swing.table.DefaultTableModel)(tb_progress.getModel())).addRow(obj);	
			tb_progress.updateUI();
			ub.setRowIndex(RowCount++);
		}	
		System.err.println(RowCount);
		return true;
	}
	
	public  boolean createDir(String Rpath,String fileName,FtpClient ftp){
		boolean flag = false;
		if(!isExsitDir(Rpath+fileName,ftp)){
			try {
				String cmd = "MKD "+Rpath+fileName+"/"+"\r\n";				
				System.err.println("CMD : "+cmd);
				ftp.sendServer(cmd);
				ftp.binary();
				int reply = ftp.readServerResponse();
				System.err.println("Reply : "+reply);
				flag = true;
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return flag;
	}
	
	public  boolean isExsitDir(String dir,FtpClient ftpClient){
		try {
			ftpClient.cd(dir);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			System.out.println("文件夾不存在.......................");
//			e.printStackTrace();
			return false;
		}
		return true;
	}
	
	public FtpClient getFtp(){		
		try {
			FtpClient fc =  new FtpClient();
			fc.openServer(host);
			fc.login(userName, passWord);
			return fc;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		return null;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区中文在线| 国产不卡视频在线播放| 国产一区二区影院| 91精品福利视频| 久久久久99精品一区| 亚洲成av人在线观看| 国产不卡在线播放| 日韩免费视频一区二区| 亚洲最新视频在线播放| 福利一区福利二区| 精品国产一区二区三区av性色| 亚洲精品成人少妇| 国产99久久久国产精品潘金| 欧美一级高清片| 亚洲成人免费电影| 在线精品视频免费观看| 亚洲欧洲一区二区三区| 国产69精品久久久久777| 欧美大片一区二区三区| 日韩精品一二区| 9191精品国产综合久久久久久| 亚洲人一二三区| 成人黄色网址在线观看| 久久久国产精华| 韩国欧美一区二区| 欧美成人r级一区二区三区| 日韩国产在线观看| 欧美精品777| 爽好多水快深点欧美视频| 欧美日韩午夜在线视频| 亚洲一级在线观看| 欧美精品一卡两卡| 石原莉奈在线亚洲三区| 91.xcao| 日本视频中文字幕一区二区三区| 欧美性受xxxx| 青青草伊人久久| 欧美成人激情免费网| 久久成人综合网| 久久精品男人天堂av| 国产99久久久国产精品潘金网站| 久久精品一区二区三区av| 成人午夜看片网址| 亚洲欧美综合另类在线卡通| 91一区二区三区在线观看| 夜夜嗨av一区二区三区网页| 欧美日韩一区不卡| 九九久久精品视频| 国产欧美一区二区精品久导航 | 91久久免费观看| 亚洲一区二区视频在线| 日韩一区二区影院| 国产精品一品二品| 一区二区三区高清不卡| 欧美精品 日韩| 国产乱码字幕精品高清av| 国产精品久久久久桃色tv| 欧美在线一区二区三区| 免费观看成人av| 国产精品欧美一级免费| 欧美日韩你懂得| 国产又粗又猛又爽又黄91精品| 久久精品视频在线免费观看| 色综合久久综合网| 韩国av一区二区三区在线观看| 欧美国产综合色视频| 欧美熟乱第一页| 国产一区999| 亚洲一级二级三级| 久久免费偷拍视频| 欧美美女一区二区三区| 国产精品一区三区| 亚洲成人资源网| 国产欧美精品一区二区色综合朱莉 | 播五月开心婷婷综合| 偷窥少妇高潮呻吟av久久免费| 国产亚洲一区二区三区| 欧美日韩夫妻久久| 97se狠狠狠综合亚洲狠狠| 男女男精品视频| 一区二区三区免费网站| 国产色婷婷亚洲99精品小说| 精品视频1区2区| 99久久夜色精品国产网站| 久99久精品视频免费观看| 亚洲va在线va天堂| 国产精品久久久久四虎| 久久综合给合久久狠狠狠97色69| 欧美羞羞免费网站| 99国产精品国产精品毛片| 久久66热偷产精品| 青娱乐精品在线视频| 亚洲午夜电影在线| 亚洲丝袜精品丝袜在线| 国产日本亚洲高清| 久久综合999| 欧美精品一区二区三区视频 | 亚洲精品在线免费观看视频| 欧美日韩一卡二卡| 在线精品亚洲一区二区不卡| www.日韩精品| 波波电影院一区二区三区| 国产自产v一区二区三区c| 麻豆国产精品官网| 麻豆视频观看网址久久| 日韩精品色哟哟| 日韩国产精品久久久久久亚洲| 亚洲一区二区高清| 亚洲午夜精品久久久久久久久| 一区二区三区在线视频观看58 | 日本一区二区久久| 久久亚洲免费视频| 久久久久久久久久久电影| 欧美mv和日韩mv国产网站| 日韩午夜av一区| 欧美一级免费观看| 欧美刺激脚交jootjob| 欧美大片日本大片免费观看| 精品国产91洋老外米糕| 精品国产在天天线2019| 久久在线观看免费| 国产欧美一区二区在线| 国产精品天美传媒| 亚洲色图一区二区| 亚洲一区精品在线| 亚洲电影一级黄| 蜜臀久久久久久久| 精彩视频一区二区| 高清不卡一区二区在线| av在线这里只有精品| 一本到不卡免费一区二区| 欧美二区三区91| 精品久久久久久久久久久久久久久久久| 欧美sm美女调教| 国产精品午夜久久| 一区二区国产盗摄色噜噜| 日韩中文字幕1| 国产盗摄精品一区二区三区在线| 成人激情免费电影网址| 在线观看国产一区二区| 91精品婷婷国产综合久久竹菊| 久久婷婷色综合| 亚洲乱码国产乱码精品精可以看 | 一本大道久久a久久精品综合| 在线观看av一区| 欧美一区二区三区免费观看视频| 欧美一级在线视频| 国产精品国产a| 午夜欧美在线一二页| 国产成人精品免费一区二区| 在线一区二区三区四区| 精品嫩草影院久久| 亚洲色图都市小说| 蜜桃av一区二区| 一本到不卡精品视频在线观看| 欧美一二三四在线| 亚洲乱码国产乱码精品精小说| 久久99国产精品麻豆| 在线免费观看成人短视频| 久久亚洲免费视频| 亚洲h精品动漫在线观看| 国产成人综合视频| 欧美一区二区三区啪啪| 亚洲狠狠丁香婷婷综合久久久| 精品一区二区三区免费观看| 日本精品视频一区二区| 欧美国产成人在线| 久久99久久99小草精品免视看| 91看片淫黄大片一级| 久久欧美中文字幕| 美女脱光内衣内裤视频久久网站| jizz一区二区| 欧美激情一区二区三区全黄| 日韩高清欧美激情| 在线精品国精品国产尤物884a| 国产蜜臀av在线一区二区三区| 肉丝袜脚交视频一区二区| 色综合一个色综合亚洲| 国产视频亚洲色图| 免费在线成人网| 欧美色视频在线| 亚洲激情综合网| 91女厕偷拍女厕偷拍高清| 国产欧美一区二区三区在线老狼| 蜜臀av亚洲一区中文字幕| 欧美日韩一区精品| 一区二区欧美国产| 一本大道久久a久久精品综合| 国产精品拍天天在线| 成人一道本在线| 国产午夜亚洲精品理论片色戒| 黑人巨大精品欧美黑白配亚洲| 91麻豆精品国产91久久久久久| 性久久久久久久久| 欧美精品一级二级三级| 香蕉加勒比综合久久| 欧美日韩精品一区二区三区四区 | 亚洲男人天堂av| 99久久精品免费看国产| 国产精品国产自产拍高清av|