请先明白一点,HTTP上传和FTP上传是不一样的,HTTP上传会带有头文件等等,你得分析,也就是通过网页上传。通过FTP上传不用,因为他不会带头文件,操作方式其实就和你在本地操作一个文件复制到另外一个地方没有什么区别,只是使用的类不一样而已。
下面是具体实现的原文件:
import java.io.File;
import java.io.FileInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
/**
*采用FTP协议实现多个文件的上传
*FTP协议是Internet上用来传送文件的协议,规定了Internet上文件互相传送的标准。在java中实
*现这一功能是借助FtpClient类完成的。具体实现过程:首先与FTP服务器建立连接;初始化文件的
*传输方式,包括ASCII和BINARY两种方式;将文件输出到文件输入流FileInputStream中;
*FileInputStream中的数据读入字节数组中;字节数组中的数据写入输出流
*TelnetOutputStream(利用write方法将数据写入到一个网络链接上)。这样和源文件同名的一个
*文件就复制到了服务器端。本例的JavaBean中通过upload()方法完成文件上传过程。
*/
publicclass WriteFileToServer {
public WriteFileToServer() {
}
publicstaticvoid main(String[] args) {
WriteFileToServer writeFileToServer = new WriteFileToServer();
writeFileToServer.upload("C:\\eclipse.exe ");
}
publicstaticvoid upload(String localFileAndPath) {
FtpClient ftpClient;
try {
ftpClient=new FtpClient("192.168.1.106",21);
ftpClient.login("Anonymous","56553655@163.com");
/*********必须要有下面这一句,否则写入的大小与读入的大小不一致************/
ftpClient.binary();
/************************取得本地文件的属性**************************/
File f=new File(localFileAndPath);
System.out.println("本地文件大小:"+f.length());
System.out.println("文件名:"+f.getName());
FileInputStream fis=new FileInputStream(new File(localFileAndPath));
//put方法的参数表示在FTP服务器上要生成的文件名
TelnetOutputStream tos=ftpClient.put(f.getName());
byte[] bt=newbyte[1024];
int len=0;
int lenTotal=0;
//采用循环的方式将从文件读入的流写到FTP服务器上
while((len=fis.read(bt))!=-1) {
lenTotal+=len;
tos.write(bt,0,len);
}
//System.out.println("写到服务器的大小:"+lenTotal);
tos.close();
fis.close();
ftpClient.closeServer();
} catch (Exception e) {
e.printStackTrace();
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fenglibing/archive/2007/10/09/1817349.aspx
分享到:
相关推荐
Android 使用 FTP 方式实现文件上传和下载 Android 使用 FTP 方式实现文件上传和下载是移动应用开发中的一项重要功能,特别是在 OTA 在线升级项目中,文件上传和下载是一个关键步骤。下面就 Android 使用 FTP 方式...
1. FTP协议基础: FTP基于TCP/IP协议族,提供了双向通信,允许客户端和服务器之间进行文件传输。它通过控制连接和数据连接来执行操作。控制连接用于发送命令和接收响应,数据连接则用于实际的文件传输。 2. Apache ...
在本文中,我们将深入探讨如何使用Qt5.8框架通过FTP协议实现文件的上传和下载功能,同时结合进度条来实时展示操作进度。Qt是一个功能强大的C++库,提供了丰富的图形用户界面(GUI)工具和网络通信接口,使得开发者...
在JAVA中实现FTP协议文件上传,我们需要使用Java的`java.net`和`org.apache.commons.net.ftp`这两个库。`java.net`是Java自带的网络编程库,而`org.apache.commons.net.ftp`则是Apache Commons Net提供的FTP客户端库...
Java 实现 FTP 批量大文件上传下载 本文介绍了如何使用 Java 实现 FTP 服务器上的大批量文件的上传和下载,处理大文件的上传和下载。通过 Java 现有的可用的库来编写 FTP 客户端代码,并开发成 Applet 控件,做成...
在ASP(Active Server Pages)中调用FTP命令来实现文件上传主要是为了处理大文件和大量文件的场景,因为传统的File System Object (FSO)方法在处理大文件时可能会遇到性能和资源消耗的问题,特别是当上传涉及到...
Java提供了一个名为`java.net.Socket`的基本网络连接类,但直接使用它来处理FTP协议会比较复杂。因此,大多数开发者会利用Apache Commons Net库,这是一个强大的Java FTP客户端实现,简化了FTP操作。 标签"java ftp...
Labview FTP上传文件是利用Labview(Laboratory Virtual Instrument Engineering Workbench)这一强大的图形化编程环境,通过FTP(File Transfer Protocol)协议实现文件的远程传输。FTP是一种标准网络协议,用于在...
本教程将详细介绍如何使用Java实现文件上传到FTP服务器,这适用于初学者熟悉FTP客户端编程的基础概念。 首先,我们要了解FTP的基本工作原理。FTP允许客户端连接到服务器,发送文件,接收文件,或者列出服务器上的...
在Visual Basic(VB)编程环境中,我们可以利用FTP协议来实现文件的上传和下载功能。以下将详细介绍如何在VB中利用FTP进行文件操作,并提供相关的知识点。 首先,VB中的FTP操作通常需要使用System.Net命名空间中的...
FTP(File Transfer Protocol)协议是Internet上用于文件传输的标准协议,它允许用户在两台计算机之间上传、下载文件。...对于初学者,理解FTP协议的工作原理和实现方法,是进入网络编程领域的良好起点。
在IT行业中,开发人员经常需要处理文件的网络传输任务,比如FTP(文件传输协议)和FTPS(安全文件传输协议)的文件上传。QTCreator是一个功能强大的、跨平台的C++集成开发环境,它提供了丰富的API和工具来辅助开发...
"FTP上传控件"是专为实现文件上传功能而设计的,它简化了FTP客户端的实现过程,开发者无需深入了解FTP协议的细节,就能在应用中实现文件上传功能。"FTP上传控件"的关键特性包括支持超大文件上传和断点续传。 超大...
要实现FTP文件上传,我们首先创建一个`FtpWebRequest`对象,设置其方法为`WebMethod.UploadFile`,然后提供FTP服务器的URL、用户名和密码。接着,打开一个流写入器,将本地文件内容写入请求的主体,最后发送请求并...
总之,FTP文件上传下载器是一个实用的工具,利用FTP协议特性,结合C#编程语言的便利性,为用户提供安全、便捷的文件传输服务。在开发这样的应用时,需考虑网络环境、安全性、错误处理和用户体验等多个方面。
综上所述,实现一个FTP客户端需要理解FTP协议的机制,处理文件上传的各种情况,并可能涉及加密算法的应用。通过上述步骤,我们可以构建一个功能完备的FTP客户端,支持各种文件操作和安全性需求。
例如,以下是一个简单的FTP文件上传示例: ```csharp using System; using System.IO; using System.Net; public class FtpExample { public static void UploadFile(string ftpServer, string filePath, string ...
以上代码展示了使用QT实现FTP文件上传和下载的基本流程。实际应用中,可能需要添加更复杂的错误处理、进度显示、多线程支持等功能。QT库的强大之处在于其灵活性,可以根据项目需求进行扩展和定制。 总结来说,QT...
在本文中,我们将深入探讨如何使用Qt库与libcurl库结合,实现在C++应用程序中进行FTP文件上传的功能。Qt是一个强大的跨平台开发框架,它提供了丰富的GUI组件和网络功能,而libcurl则是一个用于处理多种互联网协议的...
对于采用PowerBuilder 9.0作为开发工具的项目,如何实现在受限环境中通过FTP(文件传输协议)进行文件上传与下载,是一个重要的技术点。本文将深入探讨如何在PowerBuilder 9.0中实现这一功能,并提供相关源码供参考...