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

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

?? ftpsearch.java

?? 列出FTP站點的文件及目錄程序
?? JAVA
字號:
package zhq.ftpsearch;

import java.io.*;
import java.net.*;
import java.util.*;

/**  本類可以搜索某個FTP站點的內容,要求給出站點IP地址。*/
public class FTPSearch extends Thread
{
/**主機ip地址*/
String _host;

/**端口號*/
static final int PORT=21;

ServerSocket ss;

Socket _ds;

Socket _sc;

PrintStream _out	;

String _hostAddress;

BufferedReader _in ;	 

BufferedReader _dataIn;

/**一個臨時存放從服務器讀取的信息的變量*/
String _reply;

/**存放搜索日志*/
protected StringBuffer _log=new StringBuffer(10000);

/**存放搜索結果*/
Vector _result;

String _user;
String _pass;

/**構造函數。<br>參數:ip為遠端主機ip地址,user為用戶名,pass為口令。*/
public FTPSearch (String ip,String user,String pass)
	{
		_host=ip;
		_user=user;
		_pass=pass;
		_result=new Vector();
	}

/**構造函數。<br>參數:ip為遠端主機ip地址,匿名登錄。*/
public FTPSearch (String ip)
	{
		_host=ip;
		_user="anonymous";
		_pass="wildfield@126.com";
		_result=new Vector();
	}

/**連接登錄<br>Return:<br>true:登錄成功;false:denglu登錄失敗.*/
protected boolean login()throws UnknownHostException,IOException
	{ 
	  boolean successful=false;
		StringBuffer reply=new StringBuffer();
		_sc=new Socket(_host,PORT);
		_hostAddress=_sc.getLocalAddress().getHostAddress().replace('.',',');
		_sc.setSoTimeout(15000);
		_out = new PrintStream(_sc.getOutputStream(),true); 
	  _in  = new BufferedReader(new  InputStreamReader(_sc.getInputStream())); 
		reply.append(readReply().trim());
		if(reply.toString().startsWith("220"))
		   if(comm("USER "+_user))
					if(comm("PASS "+_pass))
									successful=true;
		comm("TYPE A");
		return successful;
	}

/**取得當前所在目錄*/
protected String getCurrentDir()throws IOException
{
String currentDir=null;
if(comm("PWD"))
	{
	StringTokenizer st=new StringTokenizer(_reply);
	st.nextToken();
	StringBuffer rtDir=new StringBuffer(st.nextToken());
	currentDir=rtDir.substring(1,rtDir.length()-1);
	}
return currentDir;
}

/**列出站點中所有的目錄、子目錄和文件,存入_result屬性變量,和一個名為“result.txt”的文件。
	*<br>并產生一個名為”Log.txt“日志文件。*/
public void search()throws IOException,InterruptedException
	{
		try
			{		
				for(int i=0;i<5;i++)
						{
							if(login())break;
		    			System.out.println("Wait 10 seconds to try again...");
							sleep(10000);
						}
				scan();
				logout();
			}
		catch(IOException ex)
			{
				
			}
		finally
			{
					  PrintStream out=new PrintStream(new FileOutputStream("Log.txt"));//會自動創建一個文件
						out.println(_log);
						out.close();
						printResult("result.txt");					
			}
				
	}
	

protected void scan()throws IOException
	{
	  Vector fileNames=new Vector();
		tellPort();
		comm("LIST -R");
		
		//Get data_connection's InputStream.
		try{
				 _ds=ss.accept();
											System.out.println(ss.toString());
			 }
		catch(IOException ex){ss.close();}
		_dataIn  = new BufferedReader(new  InputStreamReader(_ds.getInputStream())); 
		
		System.out.println("Scanning now.Please waiting......");
		//Read directory content
		try{
				String temp="";
				do {
						temp=_dataIn.readLine();
						if(temp==null)break;
						fileNames.add(temp);
						//System.out.println(temp);
					 }
				while(temp!=null);
				}
		catch(InterruptedIOException ex)
				{System.out.println("Caught InterruptedIOException1:"+ex);}  //如果超時則繼續
				
		//Read end infomation
		try{
				do {
						String temp=_in.readLine();
						_log.append(temp+"\r\n");
						System.out.println(temp);
			 			}
				while(_in.ready());
				}
		catch(InterruptedIOException ex)
				{System.out.println("Caught InterruptedIOException2:"+ex);}  //如果超時則繼續
					
	
		_result=fileNames;

	}

/**得到搜索結果向量。<br>記住要在執行search()方法后執行。*/
public Vector getResult()
	{
		return _result;
	}

/**得到搜索日志。<br>記住要在執行search()方法后執行。*/
public StringBuffer getLog()
	{
		return _log;
	}

/**分析得到的_result各成員,分辨目錄、文件、及其他*/
public static Vector parse()throws FileNotFoundException,IOException
	{
		Vector  result=new Vector();
		FileInputStream fileIn=new FileInputStream("result.txt");
		BufferedReader fReader=new BufferedReader(new InputStreamReader(fileIn));
		//int size=fileIn.available();
		//System.out.println(String.valueOf(size));
		String dir="/";
		System.out.println("Parsing now.Please wait......");
		while(fReader.ready())
				{
					String temp=fReader.readLine();
					StringTokenizer tt=new StringTokenizer(temp);

					if(tt.countTokens()==1)
							{
								
								if(temp.startsWith("/"))dir=temp.replace(':',' ').trim()+"/";
								else dir="/"+temp.replace(':',' ').trim()+"/";
								//parseResult.add(dir);
								continue;
							}	
					if((!temp.equals(""))&&(temp.startsWith("-")||temp.startsWith("b")||temp.startsWith("c")||temp.startsWith("l")))
					//是文件就加上dir加入parseResult.
							{
								for(int i=0;i<4;i++)tt.nextToken();
								String description="";
								for(int i=0;i<4;i++)description=description+tt.nextToken()+" ";
								String cont="";
								do{cont=cont+tt.nextToken()+" ";}
								while(tt.hasMoreTokens());							
								result.add(new FileInfo(dir+cont.trim(),description.trim()));
								continue;
							}
					else if(  temp.startsWith("d"))//是目錄
							{
								for(int i=0;i<4;i++)tt.nextToken();
								String description="";
								for(int i=0;i<4;i++)description=description+tt.nextToken()+" ";
								String cont="";
								do{cont=cont+tt.nextToken()+" ";}
								while(tt.hasMoreTokens());							
								result.add(new FileInfo(dir+cont.trim()+"/",description.trim()));
								continue;
							}
					else if(temp.equals(""))
							{
								continue;
							}
				}
		return result;
	}

protected void logout()throws IOException
	{
		comm("QUIT");
	}
	
protected void printResult(String resultFile)throws IOException
{
  PrintStream out=new PrintStream(new FileOutputStream(resultFile));//會自動創建一個文件
  int len=_result.size();
  for ( int i=0;i<len;i++)
		{
		 out.println(_result.elementAt(i));
		}
  out.close();
}
	
	
protected boolean comm(String command)throws IOException
	{ 
	  boolean success=false;
		_out.println(command);
		System.out.println("<COMMAND>"+command);
		_log.append("<COMMAND>"+command+"\r\n");
		_reply=readReply();
		if(command.startsWith("USER"))
			{
				success=_reply.startsWith("331")?true:false;
			}
		else if(command.startsWith("PASS"))
			{
				success=_reply.startsWith("230")?true:false;				
				try{readReply();}
				catch(InterruptedIOException ex){}
			}
		else if(command.equals("TYPE A"))
			{
				success=_reply.startsWith("200")?true:false;				
			}		
		else if(command.startsWith("PORT"))
			{
				success=_reply.startsWith("200")?true:false;				
			}		
		else if(command.startsWith("LIST"))
			{
				success=_reply.startsWith("150")?true:false;				
			}
		else if(command.startsWith("NLST"))
			{
				success=_reply.startsWith("150")?true:false;				
			}
		else if(command.equals("PWD"))
			{
				success=_reply.startsWith("257")?true:false;				
			}
		else if(command.startsWith("STAT"))
			{
				success=_reply.startsWith("211")?true:false;				
			}
		else if(command.equals("SYST"))
			{
				success=_reply.startsWith("215")?true:false;								
			}
		else if(command.startsWith("SITE"))
			{
				success=_reply.startsWith("214")?true:false;								
			}
		else if(command.equals("QUIT"))
			{
				success=_reply.startsWith("221")?true:false;				
			}
		return success;
	}


/**把指定向量中的內容在標準輸出打印出來。*/
public static void printVector(Vector vct)
	{
		int size=vct.size();
		for(int i=0;i<size;i++)
			{
				System.out.println(vct.elementAt(i));
			}
	}	
	

protected String readReply()throws IOException, InterruptedIOException
	{
	  StringBuffer reply=new StringBuffer();
		do {
				reply.append(_in.readLine()+"\r\n");
			 }
		while(_in.ready());
		System.out.println(reply);
		_log.append(reply);
		_reply=reply.toString();
		return _reply;
	}
	
private int getDataPort()
		{ int port=_sc.getLocalPort()+1;
			return port;
		}

private void tellPort()throws IOException
		{
				
			try{
				int port=getDataPort();			
				System.out.println("Get data port:"+port);
				int x=(int) Math.round((port/256)-0.5);
				int y=port-x*256;
				try
					{
						ss=new ServerSocket(port);
					}
				catch(IOException ex){System.out.println("IOException in Method tellPort() in Class ftpc--"+ex);}
				comm("PORT "+_hostAddress+","+x+","+y);
				}
			finally{
						
						}
		}


public static void main(String arg[])//throws IOException,UnknownHostException,InterruptedException
	{
		try{
		FTPSearch client=new FTPSearch("202.114.2.2");
		client.search();
		client.parse();
		}
		catch(Exception ex)//probably catch IOException,UnknownHostException,InterruptedException
		{
			System.out.println(ex);
		}
	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产综合在线| 91国偷自产一区二区开放时间| 丰满白嫩尤物一区二区| 欧美在线一区二区三区| 精品日韩在线一区| 一区二区三区四区不卡在线| 久久99精品久久久久久国产越南| 色欧美日韩亚洲| 日本一区二区免费在线| 首页国产欧美日韩丝袜| 99久久久国产精品免费蜜臀| 日韩欧美在线123| 亚洲一区二区在线观看视频 | 6080午夜不卡| 日韩理论片网站| 国产精品一区二区三区乱码| 欧美日本在线看| 一区二区久久久久| 99久精品国产| 中文字幕第一区综合| 青娱乐精品视频| 欧美日韩精品一二三区| 亚洲色图欧美激情| 91在线一区二区| 国产精品色噜噜| 成人永久免费视频| 国产日韩欧美精品一区| 激情小说欧美图片| 欧美videos中文字幕| 日韩av一区二区在线影视| 欧美日韩一区二区三区四区五区 | 亚洲婷婷综合久久一本伊一区| 国产一区二区成人久久免费影院| 69久久99精品久久久久婷婷| 一区二区成人在线视频| bt欧美亚洲午夜电影天堂| 国产精品三级久久久久三级| 国产精品一区一区三区| 久久久久久久久久看片| 国内精品第一页| 久久久无码精品亚洲日韩按摩| 久久精品国产999大香线蕉| 日韩一区二区视频在线观看| 日本不卡免费在线视频| 日韩一区二区免费电影| 麻豆精品一区二区三区| 2017欧美狠狠色| 国产福利91精品| 亚洲欧洲精品天堂一级| 一本大道久久a久久精二百| 亚洲综合区在线| 欧美日韩1234| 黑人精品欧美一区二区蜜桃| 国产亚洲一区字幕| 91在线精品一区二区三区| 亚洲免费观看高清完整版在线| 欧美日韩国产综合一区二区| 三级不卡在线观看| 久久久久国产精品免费免费搜索| 国产精品综合二区| 最新国产精品久久精品| 欧美日韩在线播放一区| 美女免费视频一区二区| 国产清纯白嫩初高生在线观看91 | 亚洲午夜一区二区| 欧美一级理论性理论a| 国产一区二区三区日韩| 综合激情成人伊人| 日韩女优制服丝袜电影| 国产精品资源在线| 一级特黄大欧美久久久| 欧美xxxxx裸体时装秀| 9i在线看片成人免费| 日韩精品视频网站| 国产精品久久久99| 欧美一区二区三区视频在线| 国产不卡视频在线观看| 亚洲国产日韩a在线播放| 337p粉嫩大胆噜噜噜噜噜91av| 91视频xxxx| 久久99蜜桃精品| 一区二区三区中文字幕电影| 日韩免费电影一区| 欧美中文字幕亚洲一区二区va在线| 久久国产尿小便嘘嘘尿| 亚洲欧洲av色图| 精品国产不卡一区二区三区| 在线一区二区三区| 成人免费视频app| 强制捆绑调教一区二区| 亚洲天堂2014| 精品精品欲导航| 欧美中文字幕亚洲一区二区va在线 | 久久综合色播五月| 欧美视频你懂的| 99久久婷婷国产综合精品电影| 精品亚洲国产成人av制服丝袜 | 香蕉成人啪国产精品视频综合网 | 日韩午夜小视频| 欧美图区在线视频| 成人精品鲁一区一区二区| 蜜芽一区二区三区| 亚洲成人在线网站| 一区二区成人在线视频| 中文字幕亚洲一区二区av在线| 久久精品人人做人人综合 | 青青草原综合久久大伊人精品 | 亚洲精品一区二区三区蜜桃下载| 欧美日韩一区不卡| 在线看国产一区二区| 99久久综合国产精品| 国产精品一区二区黑丝| 狠狠色狠狠色综合| 激情综合网最新| 久久草av在线| 极品少妇xxxx精品少妇| 久久国产剧场电影| 久久av资源站| 国产精品99久久久久| 精品一区二区三区欧美| 蜜桃视频在线观看一区二区| 日韩国产精品久久久| 日本不卡高清视频| 激情六月婷婷综合| 国产一区二区美女| 国产sm精品调教视频网站| 国产精品91xxx| 成人av先锋影音| 一本色道**综合亚洲精品蜜桃冫| 91麻豆国产福利在线观看| 不卡一区中文字幕| 日本乱人伦aⅴ精品| 在线观看国产精品网站| 欧美图区在线视频| 日韩欧美成人激情| 国产亚洲欧美日韩日本| 国产精品久久久久影院老司| 亚洲欧美在线观看| 性做久久久久久久久| 久久丁香综合五月国产三级网站| 国产原创一区二区| 国产成人午夜精品影院观看视频 | 国产激情一区二区三区四区| 国产一区二区看久久| 成人黄色小视频| 欧美亚洲国产bt| 日韩一区二区高清| 欧美高清在线一区二区| 一区二区三区中文在线观看| 五月婷婷久久综合| 国产成人99久久亚洲综合精品| 91麻豆免费观看| 91精品啪在线观看国产60岁| 国产午夜亚洲精品午夜鲁丝片| 亚洲欧美日韩精品久久久久| 亚洲影视在线观看| 国产乱一区二区| 欧美影院精品一区| 精品国产伦理网| 一区二区三区四区中文字幕| 美女视频黄免费的久久 | 欧美日韩国产另类不卡| 精品国产乱码久久久久久图片 | 国产欧美综合在线观看第十页 | 在线观看中文字幕不卡| 日韩一级视频免费观看在线| 国产日韩欧美高清在线| 午夜视频在线观看一区二区 | 91麻豆国产精品久久| 欧美一级视频精品观看| 亚洲视频在线观看一区| 精品一区二区三区在线播放 | 91农村精品一区二区在线| 在线成人免费视频| 亚洲另类在线制服丝袜| 狠狠狠色丁香婷婷综合久久五月| 欧美性受xxxx黑人xyx性爽| 久久久av毛片精品| 喷水一区二区三区| 在线观看亚洲精品视频| 欧美国产精品v| 国产综合成人久久大片91| 欧美日韩久久久| 一区二区不卡在线视频 午夜欧美不卡在| 国产精品1024| 日韩精品在线一区二区| 亚洲福利视频三区| 一本久久精品一区二区| 欧美国产激情二区三区| 韩日欧美一区二区三区| 欧美一级艳片视频免费观看| 亚洲国产精品久久久男人的天堂| 91小视频免费观看| 国产精品高清亚洲| 成人精品免费视频| 国产精品成人网| 成人爽a毛片一区二区免费| 久久久国产综合精品女国产盗摄| 久草精品在线观看| 日韩欧美高清一区|