首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用FTPClient从FTP下载镜像?

如何使用FTPClient从FTP下载镜像?
EN

Stack Overflow用户
提问于 2012-06-02 14:16:26
回答 4查看 5.3K关注 0票数 2

我正在使用这段代码,并尝试从服务器下载一张png图片.this is code。

代码语言:javascript
复制
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import org.apache.commons.net.ftp.FTPClient;
public class NetTest {
  public static void main(String[] args){
    FTPClient client = new FTPClient( );
    OutputStream outStream;
    try {

      client.connect( "server" );
      client.login("noman@mindzone.co.in", "pass");

      String remoteFile = "Pages/page0001.png";
      outStream = new FileOutputStream( "C:\\asd.png" );
      client.retrieveFile(remoteFile, outStream);

    } catch(IOException ioe) {
      ioe.printStackTrace();
      System.out.println( "Error communicating with FTP server." );
    } finally {
      try {
        client.disconnect( );
      } catch (IOException e) {
        System.out.println( "Problem disconnecting from FTP server" );
      }
    }

  }
}

这段代码没有给我任何错误,但当我打开图像时,它显示了无效的图像。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-02 14:25:57

本主题是您的解决方案:

http://www.ajaxapp.com/2009/02/21/a-simple-java-ftp-connection-file-download-and-upload/

票数 2
EN

Stack Overflow用户

发布于 2013-01-04 11:52:59

您的图像已损坏,因为FTPClient默认使用TEXT_FILE_TYPE。因此,您必须将文件类型设置为二进制,如下所示:

代码语言:javascript
复制
client.setFileType(FTP.BINARY_FILE_TYPE);
票数 3
EN

Stack Overflow用户

发布于 2012-06-02 14:21:47

您既没有刷新输出流,也没有在finally块中关闭。试试看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10860271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档