当前位置: 技术问答>java相关
哪儿有java写的ftp搜索引擎的例子?
来源: 互联网 发布时间:2015-09-25
本文导语: 想用java写一个ftp搜索引擎,找了好多地方都没有相关的介绍,下载了jakartar的开放源代码的全文索引引擎Lucene,还是没有ftp搜索的功能。 谁能提供相关的源码或资料,最好是能够拿来就用的,高分送上。 ...
想用java写一个ftp搜索引擎,找了好多地方都没有相关的介绍,下载了jakartar的开放源代码的全文索引引擎Lucene,还是没有ftp搜索的功能。
谁能提供相关的源码或资料,最好是能够拿来就用的,高分送上。
谁能提供相关的源码或资料,最好是能够拿来就用的,高分送上。
|
看看这个吧:版权申明:非本人创作,乃网友所创
package mshtang.ftp;
import java.io.*;
import java.net.*;
import java.util.*;
/**
*
*
*
*
* @author 小唐蔡
* @version 1.0
*/
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;
/**构造函数。
参数:ip为远端主机ip地址,user为用户名,pass为口令。*/
public FTPSearch(String ip,String user,String pass)
{
_host = ip;
_user = user;
_pass = pass;
_result = new Vector();
}
/**构造函数。
参数:ip为远端主机ip地址,匿名登录。*/
public FTPSearch(String ip)
{
_host = ip;
_user = "lq";
_pass = "linquan";
_result = new Vector();
}
/**连接登录
Return:
true:登录成功;false:登录失败.*/
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”的文件。
*
并产生一个名为”Log.txt“日志文件。*/
public void search()throws IOException,InterruptedException
{
try
{
for(int i = 0; i
package mshtang.ftp;
import java.io.*;
import java.net.*;
import java.util.*;
/**
*
Title: FTPSearch
*
Description: 本类可以搜索某个FTP站点的内容,要求给出站点IP地址。
*
Copyright: 厦门一方软件公司版权所有Copyright (c) 2002
*
Company: 厦门一方软件公司
* @author 小唐蔡
* @version 1.0
*/
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;
/**构造函数。
参数:ip为远端主机ip地址,user为用户名,pass为口令。*/
public FTPSearch(String ip,String user,String pass)
{
_host = ip;
_user = user;
_pass = pass;
_result = new Vector();
}
/**构造函数。
参数:ip为远端主机ip地址,匿名登录。*/
public FTPSearch(String ip)
{
_host = ip;
_user = "lq";
_pass = "linquan";
_result = new Vector();
}
/**连接登录
Return:
true:登录成功;false:登录失败.*/
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”的文件。
*
并产生一个名为”Log.txt“日志文件。*/
public void search()throws IOException,InterruptedException
{
try
{
for(int i = 0; i