2

私はこのコードを使用しており、サーバーからpng画像をダウンロードしようとしています.これはコードです

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" );
      }
    }

  }
}

このコードではエラーは発生しませんが、画像を開くと無効な画像が表示されます。

4

4 に答える 4

4

FTPClientはデフォルトでTEXT_FILE_TYPEを使用するため、画像が破損しました。したがって、次のようにファイルタイプをバイナリに設定する必要があります。

client.setFileType(FTP.BINARY_FILE_TYPE);
于 2013-01-04T03:52:59.067 に答える
2

このトピックはあなたの解決策です:

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

于 2012-06-02T06:25:56.703 に答える
0

出力ストリームをフラッシュしたり、finally ブロックで閉じたりしていません。それを試してみてください。

于 2012-06-02T06:21:47.267 に答える