我的位置:首页 > 操作系统>Linux

,马上给分!用ftp把一台Linux机器上的一个文件下载到本地,修改后再上传回去?java如何做

时间:2017-06-16 01:12:24 来源:互联网 作者: 神秘的大神 字体:

在线等,马上给分!急!用ftp把一台Linux机器上的一个文件下载到本地,修改后再上传回去?java怎么做?
rt

------解决方案--------------------
没做过这方面的,帮你顶
------解决方案--------------------
1.sun.net.ftp.FtpClient
或.如果知道要下载的文件完整路径,也可以使用java.net.URL之后开流的方式读来下载
new URL( "ftp://111.1..1./11/a.txt ");

2.方便点可以使用 apache.commons.net 那个网包 里面也有个FTPClient的封装, 比较好用,可以遍历文件夹, 读写该有的都有.
------解决方案--------------------
这个比较难吧,不过建议楼主使用SSH或者SVN
------解决方案--------------------
学习ing
------解决方案--------------------
给你一个我们使用的封装了ftp操作的类

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;

/**
* FTP远程命令列表 <br>
* USER PORT RETR ALLO DELE SITE XMKD CDUP FEAT <br>
* PASS PASV STOR REST CWD STAT RMD XCUP OPTS <br>
* ACCT TYPE APPE RNFR XCWD HELP XRMD STOU AUTH <br>
* REIN STRU SMNT RNTO LIST NOOP PWD SIZE PBSZ <br>
* QUIT MODE SYST ABOR NLST MKD XPWD MDTM PROT <br>
* 在服务器上执行命令,如果用sendServer来执行远程命令(不能执行本地FTP命令)的话,所有FTP命令都要加上\r\n <br>
* ftpclient.sendServer( "XMKD /test/bb\r\n "); //执行服务器上的FTP命令 <br>
* ftpclient.readServerResponse一定要在sendServer后调用 <br>
* nameList( "/test ")获取指目录下的文件列表 <br>
* XMKD建立目录,当目录存在的情况下再次创建目录时报错 <br>
* XRMD删除目录 <br>
* DELE删除文件 <br>
* <p>
* Title: 使用JAVA操作FTP服务器(FTP客户端)
* </p>
* <p>
* Description: 上传文件的类型及文件大小都放到调用此类的方法中去检测,比如放到前台JAVASCRIPT中去检测等
* 针对FTP中的所有调用使用到文件名的地方请使用完整的路径名(绝对路径开始)。
* </p>
* <p>
* Copyright: Copyright (c) 2005
* </p>
* <p>
*/

public class FtpUpfile {
private FtpClient ftpclient;

private String ipAddress;

private int ipPort;

private String userName;

private String PassWord;

/**
* 构造函数
*
* @param ip
* String 机器IP
* @param port
* String 机器FTP端口号
* @param username
* String FTP用户名
* @param password
* String FTP密码
* @throws Exception
*/
public FtpUpfile(String ip, int port, String username, String password) throws Exception {
ipAddress = new String(ip);
ipPort = port;
ftpclient = new FtpClient(ipAddress, ipPort);
// ftpclient = new FtpClient(ipAddress);
userName = new String(username);
PassWord = new String(password);
}

/**
* 构造函数
*
* @param ip
* String 机器IP,默认端口为21
* @param username
* String FTP用户名
* @param password
* String FTP密码
* @throws Exception
*/
public FtpUpfile(String ip, String username, String password) throws Exception {
ipAddress = new String(ip);
ipPort = 21;
ftpclient = new FtpClient(ipAddress, ipPort);
// ftpclient = new FtpClient(ipAddress);
userName = new String(username);
PassWord = new String(password);
}

/**
* 登录FTP服务器
*
* @throws Exception
*/