📄 ftpcontrol.java
字号:
// 自定义FTP类
package com.neck;
import java.io.*;
import sun.net.ftp.*;
import sun.net.*;
// 还要考虑建目录方法的实现
public class FtpControl{
FtpClient m_Client = new FtpClient();
// 配置参数
String m_strSvrAddr; // 服务器地址
String m_strUser; // 登录用户
String m_strPasswd; // 登录密码
String m_strErrMsg;
public FtpControl()
{
Ini m_Ini = new Ini(null);
m_strSvrAddr = m_Ini.getString("FTP","SvrAddr");
m_strUser = m_Ini.getString("FTP","User");
m_strPasswd = m_Ini.getString("FTP","Passwd");
System.out.println("m_strSvrAddr=" + m_strSvrAddr + "m_strUser=" + m_strUser + "m_strPasswd=" + m_strPasswd);
}
/*****************************************************************************************
** 功能: 取回FTP服务器上文件,放成指定文件 **
** 输入: strSvrFile--服务器上文件(包含目录信息) strCliFile--放在客户端的文件(含目录)**
** 输出: true--成功 false--失败 **
** Auth: Ysr **
** Date: 2004.5.8 **
******************************************************************************************/
public boolean GetFile(String strSvrFile, String strCliFile)
{
boolean bRet = false;
try{
// 打开连接
m_Client.openServer(m_strSvrAddr);
// 登录
m_Client.login(m_strUser, m_strPasswd);
// 以二进制传送
m_Client.binary();
TelnetInputStream m_InStream = m_Client.get(strSvrFile);
FileOutputStream m_OutStream = new FileOutputStream(strCliFile);
byte nBytes[] = new byte[1000];
int iReadNum = 0;
while( true )
{
iReadNum = m_InStream.read(nBytes);
if( iReadNum == -1 )
break;
m_OutStream.write(nBytes);
}
m_OutStream.close();
bRet = true;
}
catch(IOException ex)
{
System.out.println(ex.getMessage());
}
try{
// 关闭连接
m_Client.closeServer();
}
catch(IOException ex)
{
System.out.println(ex.getMessage());
}
return bRet;
}
/*****************************************************************************************
** 功能: 将指定目录文件放成FTP服务器上指定目录文件 **
** 输入: strCliFile--要上传客户端的文件(含目录) strSvrFile--放置的服务器文件(含目录)**
** 输出: true--成功 false--失败 **
** Auth: Ysr **
** Date: 2004.5.8 **
******************************************************************************************/
public boolean PutFile(String strCliFile, String strSvrFile)
{
boolean bRet = false;
try{
// 打开连接
m_Client.openServer(m_strSvrAddr);
System.out.println("after openserver!!");
// 登录
m_Client.login(m_strUser, m_strPasswd);
System.out.println("after login ");
// 以二进制传送
m_Client.binary();
FileInputStream m_InStream = new FileInputStream(strCliFile);
TelnetOutputStream m_OutStream = m_Client.put(strSvrFile);
byte nBytes[] = new byte[1000];
int iReadNum = 0;
while( true )
{
iReadNum = m_InStream.read(nBytes);
//System.out.println("after read!!iReadNum=" + iReadNum);
if( iReadNum == -1 )
break;
m_OutStream.write(nBytes);
}
m_InStream.close();
System.out.println("after close!!");
bRet = true;
}
catch(IOException ex)
{
System.out.println(ex.getMessage());
}
try{
// 关闭连接
m_Client.closeServer();
}
catch(IOException ex)
{
System.out.println(ex.getMessage());
}
return bRet;
}
/*****************************************************************************************
** 功能: 将FTP服务器上指定目录文件删除 **
** 输入: strSvrFile--要删除的服务器文件(含目录) **
** 输出: true--成功 false--失败 **
** Auth: Ysr **
** Date: 2004.5.12 **
******************************************************************************************/
public boolean DeleteFile(String strSvrFile)
{
boolean bRet = false;
try{
// 打开连接
m_Client.openServer(m_strSvrAddr);
System.out.println("after openserver!!");
// 登录
m_Client.login(m_strUser, m_strPasswd);
System.out.println("after login ");
// 删除文件
// String strDel = "DELETE " + strSvrFile;
// ?????
//m_Client.command= strDel;
//m_Client.system();
bRet = true;
}
catch(IOException ex)
{
System.out.println(ex.getMessage());
}
try{
// 关闭连接
m_Client.closeServer();
}
catch(IOException ex)
{
System.out.println(ex.getMessage());
}
return bRet;
}
public String getErrMsg()
{
return this.m_strErrMsg;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -