您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> 文件接口,数据都以TXT文件进行传输,以FTP的方式上传到汇集分析系统指定的接口机目录下 木有思路,以前木有用过,各位大哥,大姐给个思路啊!

文件接口,数据都以TXT文件进行传输,以FTP的方式上传到汇集分析系统指定的接口机目录下 木有思路,以前木有用过,各位大哥,大姐给个思路啊!

来源:网络整理     时间:2016/7/25 4:58:43     关键词:

关于网友提出的“ 文件接口,数据都以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

相关图片

相关文章