Java 从Linux FTP 下载文件 (怪异问题)

发布于 2021-11-17 20:51:33 字数 1134 浏览 931 评论 11

用Apache的FTP下载的文件都是出现字节错误,导致无法解压。 

而用sun的FTP下载文件正确可是每个文件都要连接一次,且不能关闭连接,一关闭就死那不动了 


FtpClient client = null;
			try {
				client = new FtpClient();
				client.openServer(host, port);
				client.login(user, pass);
				client.cd(path);
				System.out.println("开始现在数据....");
				String[] files = new EricssionFtpDownload().listFileName(client, gatherName);
				for (String f : files) {
					client = new FtpClient();//这里必须重新创建,否则就卡着这里不动了
					client.openServer(host, port);
					client.login(user, pass);
					client.cd(path);
					client.binary();
					InputStream in = client.get(f);
					FileOutputStream fos = new FileOutputStream(savePath + "/" + date + "/" + f);
					IOUtils.copyStream(in, fos);
					IOUtils.closeIO(fos);
				}
				client.closeServer();
				System.out.println("结束现在数据....");
			} catch (IOException e1) {
				e1.printStackTrace();
			}


不知哪位大侠遇到过这类问题吗


在linux里面有个问题,就是路径会改变。

登入的账号路径是/home/xitong

而要下载目录却在/var/opt里面

这样会有什么影响吗。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

回忆凄美了谁 2021-11-21 14:22:05

连接模式不对吧,正常是没有问题的

// 用2进制上传、下载
		ftpClient.setBufferSize(1024);
		ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
		ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
		ftpClient.setControlEncoding("UTF-8");
		ftpClient.enterLocalPassiveMode();

陌若浮生 2021-11-21 14:18:58

连接模式不对吧,正常是没有问题的

// 用2进制上传、下载
		ftpClient.setBufferSize(1024);
		ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
		ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
		ftpClient.setControlEncoding("UTF-8");
		ftpClient.enterLocalPassiveMode();

叹沉浮 2021-11-21 11:39:49

连接模式不对吧,正常是没有问题的

// 用2进制上传、下载
		ftpClient.setBufferSize(1024);
		ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
		ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
		ftpClient.setControlEncoding("UTF-8");
		ftpClient.enterLocalPassiveMode();

惜醉颜 2021-11-21 09:01:48

连接模式不对吧,正常是没有问题的

// 用2进制上传、下载
		ftpClient.setBufferSize(1024);
		ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
		ftpClient.setFileTransferMode(FTPClient.STREAM_TRANSFER_MODE);
		ftpClient.setControlEncoding("UTF-8");
		ftpClient.enterLocalPassiveMode();

清晨说ぺ晚安 2021-11-21 07:11:41

下载下来的文件有大小么?还是大小为0?

永不分离 2021-11-21 05:53:41

你下载的文件的路径,和下载后下载的路径  权限都有么?...没有的话还玩毛线啊...

恋你朝朝暮暮 2021-11-21 05:44:58

下载下来的文件有大小么?还是大小为0?

像你 2021-11-21 04:49:22

只要你有对/var/opt下面目录的读取权限,没问题的吧

滥情空心 2021-11-20 14:21:19

没搞懂你说的意思

登入的账号路径是/home/xitong

而要下载目录却在/var/opt里面

这样会有什么影响吗。

这有什么影响呢?

成熟稳重的好男人 2021-11-20 05:02:39

没搞懂你说的意思

登入的账号路径是/home/xitong

而要下载目录却在/var/opt里面

这样会有什么影响吗。

这有什么影响呢?

旧伤慢歌 2021-11-20 01:34:09

怎么,大家都没有遇到过这样的情况吗。

还是没有linux 里 ftp下载过

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文