这两天要和别的公司数据同步,搞了个ftp下载数据导入自己库里。刚开始找了个ftp工具类,测试的时候是好的(我们公司自己的服务器(2003)),用对接公司ftp地址的时候就出问题了:
1)
try{
URL u=new URL(ftp://username:pwd@ip/文件名);
String _file=u.getFile();
System.out.println(_file+">>>"+u.getHost());
InputStream is= u.openStream();
if(is == null){
System.out.println("没有能够获取指定的资源");
return;
}else{
BufferedReader in = new BufferedReader(new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
in.readLine(); //读取第一行,接下来从第二行开始循环数据
String line = "";
while ((line = in.readLine()) != null) {
System.out.println(line);
}
//System.out.println(buffer.toString());
}
}catch(Exception e){
e.printStackTrace();
}
报如下错误
java.io.FileNotFoundException:xxxx.txt
at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:441)
at java.net.URL.openStream(URL.java:1009)
at test.ftp.ftpWriteAndRead.tt(ftpWriteAndRead.java:41)
at test.ftp.ftpWriteAndRead.main(ftpWriteAndRead.java:30)
可是文件是存在的
2)
try {
FtpClient fc = new FtpClient("xxx.xxx.xxx.xxx");
fc.login("username", "pwd");
int ch;
File fi = new File("d:\\MANAGER_20120523.txt");
RandomAccessFile getFile = new RandomAccessFile(fi, "rw");
getFile.seek(0);
TelnetInputStream fget = fc.get("/MANAGER_20120523.txt");
DataInputStream puts = new DataInputStream(fget);
while ((ch = puts.read()) >= 0) {
getFile.write(ch);
}
fget.close();
getFile.close();
fc.closeServer();
} catch (IOException ex) {
ex.printStackTrace();
}
报如下错误
java.io.FileNotFoundException: EPRT |1|192.168.xxx.xxx|58029|: 550 'EPRT |1|xxx.xxx.xxx.xxx|38965|': command not understood. Use EPSV command.
at sun.net.ftp.FtpClient.readReply(FtpClient.java:236)
at sun.net.ftp.FtpClient.issueCommand(FtpClient.java:193)
at sun.net.ftp.FtpClient.openDataConnection(FtpClient.java:420)
at sun.net.ftp.FtpClient.get(FtpClient.java:577)
at test.ftp.ftpDown.main(ftpDown.java:44)
xxx:是ip地址
一直都这没到解决方案
后来在网上有找了一个common-net(说明一下,后来发现上面那种导入的包路径是:sun.net.ftp.FtpClient,后来这种是:org.apache.commons.net.ftp.FTPClient),所用的jar包不一样
针对上面的那位知道解决办法,可以把代码贴出来,也让大家学习一下
可以用的代码见附件
针对上面错误的问题有知道的可以发表一下意见,交流一下
分享到:
相关推荐
**VB API FTP上传下载源代码详解** 在信息技术领域,FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。在VB(Visual Basic)环境中,我们可以使用API(Application Programming Interface...
在这个场景中,"一个ftp上传下载类(MFC)" 是一个使用MFC构建的类,它封装了FTP协议,使得开发者能够方便地在自己的应用中实现FTP的上传和下载功能。 FTP上传下载类的核心功能包括: 1. **连接与断开**:类应包含...
总的来说,VC++ FTP上传下载涉及网络编程、文件操作和XML处理等多个方面。开发者需要熟悉WinInet API或第三方FTP库的使用,理解FTP协议的工作原理,以及如何在C++中处理XML文件。通过这些技术,可以在VC++环境中实现...
VB6 FTP 上传 下载 源代码,用的API,不是那种控件版本,拿来就能用. VB6 FTP 上传 下载 源代码,用的API,不是那种控件版本,拿来就能用. VB6 FTP 上传 下载 源代码,用的API,不是那种控件版本,拿来就能用.
**Qt4实现FTP上传下载服务器** Qt是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面和移动设备的应用程序开发。FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,允许用户从远程主机...
FTP上传下载文件
C# FTP上传下载是开发过程中常见的一项任务,它涉及到网络通信和文件操作。在C#中,我们可以利用System.Net命名空间中的FtpWebRequest和FtpWebResponse类来实现FTP(File Transfer Protocol)的功能。下面将详细介绍...
在这个“FTP上传下载文件demo”项目中,开发者使用C++编程语言在Visual Studio 2010环境下创建了一个功能完备的FTP客户端应用。这个应用能够执行基本的FTP操作,包括上传文件到远程FTP服务器、从服务器下载文件以及...
四、FTP上传下载的进阶功能 1. 递归上传/下载目录:可以遍历本地目录,逐个上传或下载文件。 2. 断点续传:如果文件较大,可以记录已传输的部分,在下次连接时继续上传或下载。 3. 多线程上传/下载:通过多线程同时...
这篇博客文章“qt ftp上传下载”探讨了如何在Qt环境中实现FTP的上传和下载功能。我们将详细解析这个主题,了解相关知识点。 首先,要实现FTP功能,你需要使用Qt库中的QFtp模块。QFtp类提供了FTP客户端的功能,可以...
Java编写的FTP上传下载工具是一种基于Java语言实现的文件传输应用程序,主要功能是与FTP(File Transfer Protocol)服务器进行交互,实现文件的上传和下载。这个工具特别之处在于它支持多用户登录,这意味着不同的...
在本文中,我们将深入探讨FTP上传下载的C#源代码实现及其相关的知识点。 一、FTP基本概念 FTP允许用户在两台计算机之间交换文件,通常涉及一个服务器(提供文件)和一个客户端(请求文件)。它使用TCP作为传输层...
### VB FTP上传下载知识点解析 #### 一、概述 在提供的代码示例中,主要涉及了使用Visual Basic(简称VB)进行FTP(File Transfer Protocol,文件传输协议)上传与下载的功能实现。FTP是一种用于在网络上进行文件...
VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效...
ftp上传下载 linux环境下程序 网络高级程序设计课程实验
"ftp上传下载图片" FTP(File Transfer Protocol,文件传输协议)是一种常用的网络协议,用于在网络上进行文件传输。FTP 协议允许用户在远程服务器上存储和检索文件。在这里,我们将讨论如何使用 C# 语言实现 FTP ...
本篇文章将深入探讨如何利用C#实现FTP上传和下载功能,并结合给定的"FTP上传下载demo"和"demo(upload)、FTPupload"这两个文件名,我们将具体分析其可能包含的代码示例。 首先,让我们了解FTP上传和下载的基本原理...
FTP上传下载的实现,网络编程 FTP SOCKET MFC 网络
Java基于Swing的FTP上传下载程序是一个用户界面友好、功能完备的应用,主要用于通过FTP(File Transfer Protocol)协议实现文件的上传和下载。Swing是Java提供的一个轻量级的GUI库,它允许开发者创建出美观且功能...