当前位置:  技术问答>java相关

向高手请教ftp

    来源: 互联网  发布时间:2015-03-07

    本文导语:  下面是我一个小ftp代码,问题都在里面有注释,多谢!! import java.io.*; import java.net.*; public class Class1 { String hostName; //主机地址 String userName; //用户名 String pass; //密码 static final int PORT=21; Socket clientsocket; PrintWr...

下面是我一个小ftp代码,问题都在里面有注释,多谢!!
import java.io.*;
import java.net.*;

public class Class1
{
String hostName; //主机地址
String userName; //用户名
String pass; //密码
static final int PORT=21;
Socket clientsocket;
PrintWriter dataOut ;
BufferedReader dataIn;  
String datareply; //从FTP服务器返回的字符串
boolean successful;

public Class1(String ip)
{
hostName=ip;
userName="tanhs";
pass="mykey";
}

public boolean login() throws IOException, InterruptedIOException
{
StringBuffer ftpReply=new StringBuffer();
clientsocket=new Socket(hostName,PORT);
clientsocket.setSoTimeout(5000);
dataOut=new PrintWriter(new OutputStreamWriter(clientsocket.getOutputStream()));
dataIn=new BufferedReader(new InputStreamReader(clientsocket.getInputStream()));
ftpReply.append(readReply().trim());
if(ftpReply.toString().startsWith("220"))
if(comm("USER "+userName)) //键入用户名,无误
if(comm("PASS "+pass)) //键入密码,无误
successful=true;
comm("TYPE A"); //定义类型,无误----这个地方也是个问题,我感觉应该用"ASCII",但这个确实有效,用"ASCII"反而会出错
return successful;
}

public boolean getFile(String ftpfileName) throws IOException, InterruptedIOException
{
successful=false;
String fileName=ftpfileName;
if(comm("GET "+fileName+" d:\reply.txt"))
successful=true;
return successful;
}

protected boolean comm(String command)throws IOException
{
boolean success=false;
dataOut.println(command);
dataOut.flush();
if (command.startsWith("GET"))
{
datareply=getReply(); //此处得到服务器返回信息
success=datareply.startsWith("226")?true:false;
}
else
datareply=readReply();
if(command.startsWith("USER"))
{
success=datareply.startsWith("331")?true:false;
}
else if(command.startsWith("PASS"))
{
success=datareply.startsWith("230")?true:false;
}
else if(command.equals("TYPE A"))
{
success=datareply.startsWith("200")?true:false;
}
return success;
}

protected String readReply()throws IOException, InterruptedIOException
{
StringBuffer reply=new StringBuffer();
do  {
reply.append(dataIn.readLine());
}
while(dataIn.ready());
datareply=reply.toString();
System.out.print(datareply);
return datareply;
}

protected String getReply()throws IOException, InterruptedIOException
{
   StringBuffer getreply=new StringBuffer();
/*int i=0;
String datatemp;
while((datatemp=dataIn.readLine())!=null && i

    
 
 

您可能感兴趣的文章:

  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教高手lvs的奇怪问题,我挺着急,希望高手别潜水,就就我,先谢谢了
  • 请教高手:如何用gnome/gtk编写托盘程序
  • 请教各位高手一个简单的问题:在JAVA 中如何才能取得一些系统信息?
  • javascript开源软件 iis7站长之家
  • #######菜鸟问题,请教高手,一定给分########
  • 如何在Linux上使用LoadLibrary()?高手请教!
  • 请教:Java高手读书之路
  • 请教高手:cpu占用经常100%怎么解决?
  • linux起不来了,请教高手,谢谢
  • 关于courier邮件服务器的配置问题,请教高手
  • 我的REDHAT 9。0刚装好,显卡不能正常显示,请教各位高手
  • 请教高手,如何将磁盘阵列mount上去??
  • 请教高手,关于vmware中linux的鼠标的问题
  • 请教高手在QT下怎样收串口数据
  • 请教高手,如何在VMware下安装suse10.0??请指教,谢谢。
  • 高手请教!linux怎样通过pid获取进程信息,如:进程名、进程状态等?
  • 请教solaris高手一个solaris安装问题
  • ftp连接问题,就是linux连接windows ftp的问题,高手请进(在线等待)!!!!!
  • vsftpd ftp: ftp/tcp: unknown service 请教高手指点
  • !!!java 中如何执行FTP命令?请高手指教。100分相赠
  • ftp错误,请高手帮分析一下
  • 关于ftp的问题,高手指教!
  • 高手请进,ftp问题。
  • 在RedHat下如何配置FTP目录?请高手指点
  • 如何配置linux下的FTP服务器?请高手提供资料!
  • linux ftp 配置 望高手指教,感激不尽
  • 求助ftp编程高手一个问题----有关免费包libftp-5.0
  • 高手指点,FTP问题,无法显示文件信息
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • 难道这没有高手吗?难道这没有乐于助人的高手?(高分酬谢62+50+50)
  • 关于我对linux高手用yum,非高手用源码的理由
  • 高手救命,很急——ORACLE817安装在UNIXWARE711上,手工启动数据库后在netasst中连接错误,高手帮我看看?
  • 各个高手看看这个问题!本人第一次学习java所以要各位高手的帮助。。
  • 我是新手,高手,高手,快来救我
  • EJB问题,请教高手(非高手莫进)
  • 请各位JAVA高手,网业高手看过来,我把能给的分都送出!!!只能给37分,哎!!
  • eWEEK沙龙征集高手座谈
  • 高手请进,中文乱码问题,这是我同一个问题的第五个帖子了,大伙帮忙,心情好郁闷.期待高手.
  • [纳闷贴]为什么那么多人非说要成为高手就不要用X,难道Linux就是为了成为高手用的?
  • 寻找UNIX高手——IBM UNIX高手招募


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3