文件上传下载java.doc
文本预览下载声明
文件下载:
package com.ecc.liana.perbank.action;
import java.io.File;
import java.io.IOException;
import .ftp.FTPClient;
import com.ecc.emp.core.Context;
import com.ecc.emp.core.EMPException;
import com.ecc.liana.base.LianaAction;
import com.ecc.liana.base.LianaConstants;
import com.ecc.liana.base.LianaStandard;
import com.ecc.liana.file.LianaFile;
import .ftp.FtpService;
public class FtpDownloadAction extends LianaAction {
/**
* 保存FTP服务器上文件位置的字段名称
*/
private String ftpFileField;
/**
* 文件传输方式:true:二进制/false:ASCII
*/
private boolean binaryFile;
/**
* Method execute.
*
* @param context
* Context
* @return String
* @throws Exception
* @see com.ecc.emp.flow.Action#execute(Context)
*/
public String execute( Context context ) throws Exception
{
// 首先检查本地服务器是否已经存在要下载的文件
String filePath = LianaStandard.getSelfDefineSettingsValue( LianaConstants.SETTINGS_DOWNLOAD_ROOT );
String ftpFilePathName = (String) context.getDataValue( ftpFileField );
String localFilePathName = filePath + ftpFilePathName;
if ( !new File( localFilePathName ).isFile() )
{
// 如果本地服务器不存在文件,从FTP上下载
FtpService ftpService = (FtpService) context.getService( LianaConstants.FTP_SERVICE_NAME );
FTPClient ftpClient = null;
try
{
// 建立本地目录结构
LianaFile.makeMultiDirectory( filePath, ftpFilePathName );
// 初始化连接
ftpClient = ftpService.initConnection();
// 设置传输方式
ftpService.setTransferMode( ftpClient, binaryFile );
// 下载文件
ftpService.downloadFile( ftpClient, ftpFilePathName, localFilePathName );
}
finally
{
try
{
if ( ftpClient != null )
{
ftpClient.logout();
}
}
catch ( IOException ex )
{
// ex.printStackTrace();
}
}
}
// 保存文件位置
context.setDataValue( LianaConstants.FIELD_DOWNLOAD_FILE, localFilePathName );
return DEFAULT_RETURN_VALUE;
}
/**
* Method setFtpFileField.
*
* @param ftpFileField
* String
*/
public void setFtpFileField(
显示全部