FTPClient下载的excel文件

悲欢灬离合 发布于 2016/01/08 17:55
阅读 479
收藏 1
FTPClient下载的excel文件,服务器端没有打开excel的软件,本地下载xlsx文件打不开,是不是因为在服务器端不能打开导致在读的时候出错

以下是问题补充:

@悲欢灬离合:public static boolean downFile(String url, int port,String username, String password, String remotePath,String fileName,String localPath) { boolean success = false; FTPClient ftp = new FTPClient(); try { int reply; ftp.connect(url, port); //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 ftp.login(username, password);//登录 reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } ftp.changeWorkingDirectory(remotePath);//转移到FTP服务器目录 FTPFile[] fs = ftp.listFiles(); for(FTPFile ff:fs){ String str = ff.getName(); str=new String(str.getBytes("iso-8859-1"),"gbk"); if(str.equals(fileName)){ File localFile = new File(localPath+"/"+str); OutputStream os = new FileOutputStream(localFile); ftp.retrieveFile(str, os); os.flush(); os.close(); System.out.println("下载成功!"); break; } } ftp.logout(); success = true; } catch (IOException e) { e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { } } } return success; } public void testDownFile() { try { boolean flag = downFile("10.138.60.21", 21, "eSurfing", "eSurfing", "e:/esurfingExpFiles", "123.xlsx", "D:/"); System.out.println(flag); } catch (Exception e) { e.printStackTrace(); } } (2016/01/08 17:56)
加载中
0
如比如比
如比如比
用二进制试试看
ftpclient.setFileType(FTP.BINARY_FILE_TYPE);
悲欢灬离合
悲欢灬离合
回复 @茶_壶 : 恩,谢谢,我看看哈
如比如比
如比如比
回复 @悲欢灬离合 : 没有道理,用windows自带的ftp或别ftp工具以二进制形式下载下来后的文件能打开么?同样打不开的话,服务器上的文件有问题,上传方式等。能打开的话,你的编码有问题。例子:https://commons.apache.org/proper/commons-net/examples/ftp/FTPClientExample.java
悲欢灬离合
悲欢灬离合
二进制也不行,txt文件就没事
返回顶部
顶部