关于网友提出的“ 文件接口,数据都以TXT文件进行传输,以FTP的方式上传到汇集分析系统指定的接口机目录下 木有思路,以前木有用过,各位大哥,大姐给个思路啊!”问题疑问,本网通过在网上对“ 文件接口,数据都以TXT文件进行传输,以FTP的方式上传到汇集分析系统指定的接口机目录下 木有思路,以前木有用过,各位大哥,大姐给个思路啊!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 文件接口,数据都以TXT文件进行传输,以FTP的方式上传到汇集分析系统指定的接口机目录下 木有思路,以前木有用过,各位大哥,大姐给个思路啊!
描述:本帖最后由 timewind 于 2013-01-29 14:07:42 编辑
下面的代码是我在网上找到的,然后不知道怎么样测试,我自己的想法的是应该有个jsp,servlet之类的就行,然后跳转到返回页面,把数据插入进去,是要有个ftp的服务器之类的才能测试么,还是要有个ftp服务器呢?我现下载一个serv-U的服务器,好像是连接的方法不太对,在现在一点思路木有...
package bussinessweb;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class FtpUp {
private static FTPClient ftpClient=new FTPClient();
private static String encoding=System.getProperty("file.encoding");
public static boolean uploadFile(String url,String username,String password
,String path,String filename,InputStream input){
boolean result=false;
try {
int reply;
//链接服务器
ftpClient.connect(url);
//登录
ftpClient.login(username, password);
ftpClient.setControlEncoding(encoding);
//检验是否链接成功
reply=ftpClient.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)){
System.out.print("链接失败");
ftpClient.disconnect();
return result;
}
//转移工作目录至指定目录下
boolean change=ftpClient.changeWorkingDirectory(path);
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
if(change){
result=ftpClient.storeFile(new String(filename.getBytes("encoding"),"GBK"), input);
if(result){System.out.print("上传成功");
}
}
input.close();
ftpClient.logout();
} catch (IOException e) {
e.printStackTrace();
if(ftpClient.isConnected()){
try{
ftpClient.disconnect();
}catch (IOException ioe) {
}
}
}
return result;
}
}
package bussinessweb;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import org.junit.Test;
public class Testbussiness {
/**
* 将本地文件上传到FTP服务器上
*
*/
@Test
public void testUpLoadFromDisk() {
FtpUp ftpUp=new FtpUp();
try {
FileInputStream in = new FileInputStream(new File("E:/号码.txt"));
boolean flag =ftpUp.uploadFile("127.0.0.1", "jdzhying","jdzhying", "/", "哈哈.txt", in);
System.out.println(flag);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
解决方案1: SER-U配置起来可以手工测试测试一下
命令行输入ftp IP地址
输入用户名口令即可
上传是put 下载是get
另外 还可以完全不用写代码 直接windows下面写个批处理即可
解决方案2: 很多代理业务对账都是这个模式的
一般我的程序如果包含WEB的部分,对账我会通过定时器每天触发一次
从数据库生成文件并上传到FTP
如果程序没有WEB部分
JAVA写个程序就是了 每个一个小时扫描一次就行了
FTP就用那个APACHE的包
代码完全可以就写个可以执行的class 和WEB什么没有任何关系
public class ftpfile{
public static void main(String[] args) {
while(true){
//生成文件或检查文件是否存在
//genfile;
//ftp文件到指定服务器
//ftpfile
//每个一段时间执行一次
Thread.sleep(60*1000);
}
}
}
SER-U那东西配置起来很简单吧 这个搞不定就没办法
直接网上下个绿色版本的那种
以上介绍了“ 文件接口,数据都以TXT文件进行传输,以FTP的方式上传到汇集分析系统指定的接口机目录下 木有思路,以前木有用过,各位大哥,大姐给个思路啊!”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2904126.html