⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftpcontrol.java

📁 是一个应用型java网站例子
💻 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 + -