赞
踩
public class FTPUtil {
public static Log logger = LogFactory.getLog(FTPUtil.class);
private static String userName; // FTP ��¼�û���
private static String password; // FTP ��¼����
private static String ip; // FTP �������ַIP��ַ
private static int port; // FTP �˿�
private static Properties configFile = null; // �����ļ���·����
private static String httpPayh = "http://192.168.1.10:9990";
private static final String servicePath= "21060001/0001";
// FTP״̬��
public static int i = 1;
static {
InputStream in = ServiceFactory.class.getClassLoader()
.getResourceAsStream("ftpconfig.properties");
configFile = new Properties();
try {
configFile.load(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
userName = configFile.getProperty("username");
password = configFile.getProperty("password");
ip = configFile.getProperty("ip");
port = Integer.valueOf(String.valueOf(configFile.getProperty("port")));
}
public FTPClient connectServer() {
FTPClient ftpClient = null; // FTP �ͻ��˴���
if (ftpClient == null) {
int reply;
try {
ftpClient = new FTPClient();
ftpClient.setControlEncoding("GBK");
ftpClient.setDefaultPort(port);
ftpClient.configure(getFtpConfig());
ftpClient.connect(ip);
ftpClient.login(userName, password);
ftpClient.setDefaultPort(port);
/*
* ftpClient.connect("192.168.1.10");
* ftpClient.login("testuser", "test");
*/
// System.out.print(ftpClient.getReplyString());
reply = ftpClient.getReplyCode();
ftpClient.setDataTimeout(120000);
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
System.err.println("FTP server refused connection.");
// logger.debug("FTP ����ܾ�l�ӣ�");
}
// System.out.println(i);
i++;
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return ftpClient;
}
private static FTPClientConfig getFtpConfig() {
FTPClientConfig ftpConfig = new FTPClientConfig(
FTPClientConfig.SYST_UNIX);
ftpConfig.setServerLanguageCode(FTP.DEFAULT_CONTROL_ENCODING);
return ftpConfig;
}
public String uploadFile(File localFile) {
boolean flag = true;
String _httpPath = null;
try {
//connectServer();
FTPClient fc = connectServer();
fc.setFileType(FTP.BINARY_FILE_TYPE);
fc.enterLocalPassiveMode();
fc.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
InputStream input = new FileInputStream(localFile);
// �����ļ���
//System.out.println(ftpClient.printWorkingDirectory());
//ftpClient.makeDirectory("new");
// System.out.println("x>>>>>>> : " + objFolder);
// ���new
//ftpClient.changeWorkingDirectory("//");
fc.changeWorkingDirectory(servicePath);
String yyMMdd = new SimpleDateFormat("yyMMdd").format(new Date());
if(fc.changeWorkingDirectory(yyMMdd)){
String hhmmss = new SimpleDateFormat("hhmmss").format(new Date());
fc.makeDirectory(hhmmss);
fc.changeWorkingDirectory(hhmmss);
_httpPath = fc.printWorkingDirectory();
}else{
fc.makeDirectory(yyMMdd);
fc.changeWorkingDirectory(yyMMdd);
String hhmmss = new SimpleDateFormat("hhmmss").format(new Date());
fc.makeDirectory(hhmmss);
fc.changeWorkingDirectory(hhmmss);
_httpPath = fc.printWorkingDirectory();
}
/*System.out.println("b>>>>>>> : " + localFile.getPath() + " "
+ ftpClient.printWorkingDirectory());*/
flag = fc.storeFile(localFile.getName(), input);
if (flag) {
System.out.println("�ϴ��ļ��ɹ���");
} else {
System.out.println("�ϴ��ļ�ʧ�ܣ�");
}
input.close();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return httpPayh+_httpPath.substring(_httpPath.indexOf("/", 1))+"/"+localFile.getName();
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。