我正在使用这段代码,并尝试从服务器下载一张png图片.this is code。
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" );
}
}
}
}这段代码没有给我任何错误,但当我打开图像时,它显示了无效的图像。
发布于 2012-06-02 14:25:57
本主题是您的解决方案:
http://www.ajaxapp.com/2009/02/21/a-simple-java-ftp-connection-file-download-and-upload/
发布于 2013-01-04 11:52:59
您的图像已损坏,因为FTPClient默认使用TEXT_FILE_TYPE。因此,您必须将文件类型设置为二进制,如下所示:
client.setFileType(FTP.BINARY_FILE_TYPE);发布于 2012-06-02 14:21:47
您既没有刷新输出流,也没有在finally块中关闭。试试看。
https://stackoverflow.com/questions/10860271
复制相似问题