`
ligb2006
  • 浏览: 33287 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

用java实现一个自动上传程序

阅读更多

在网站http://www.bs86.com上做了一个基于http协议上传的小程序

需要的jar包:

1.httpclient-4.1.1.jar

2.httpclient-cache-4.1.1.jar

3.commons-logging.jar

4.commons-io-2.0.1.jar

5.commons-codec-1.3.jar

 

package com.fileUpload;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.MultipartPostMethod;

public class FileUpload {
	
	static HashMap<String, Integer> pTypeMap = new HashMap<String, Integer>();
	static HashMap<String, Integer> cTypeMap = new HashMap<String, Integer>();
	
	static {
		pTypeMap.put("类别1", 1);
		pTypeMap.put("类别2", 2);
	}
	public void fileUpload(String targetURL, File file, String p, String c){
		
		MultipartPostMethod filePost = new MultipartPostMethod(targetURL);
		FileEntity reqEntity = new FileEntity(file, "binary/octet-stream");
		filePost.setRequestHeader("Content-type", "text/html; charset=GB2312");
		try {
			filePost.addParameter("r_path", file.getName(), new File(file.getAbsolutePath()));
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
			return;
		}
		
		//设置你的传入参数,这里以post传送为例
		filePost.addParameter("参数1", fileName);
		filePost.addParameter("参数2", "1");
		HttpClient client = new HttpClient();
		client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
		try {
			int status = client.executeMethod(filePost);
			//filePost.releaseConnection();
			System.out.println(status);
			String message = filePost.getResponseBodyAsString();
			System.out.println(new String(message.getBytes("GB2312")));
			filePost.releaseConnection();
			
			if(status == 200){
				file.delete();
			}
			/*if("".equals(message)){  
                switch (status) {  
                case 200:   
                    message="\t"+file.getAbsolutePath()+" "+String.format("%.2f",file.length()/1024.0f )+"KB\t文件上传成功";  
                    break;  
                case 404:   
                    message="\t"+file.getAbsolutePath()+" "+String.format("%.2f",file.length()/1024.0f )+"KB\t未找到";  
                    break;  
                case 408:   
                    message="\t"+file.getAbsolutePath()+" "+String.format("%.2f",file.length()/1024.0f )+"KB\t链接超时";  
                    break;  
                default:  
                    message="\t"+file.getAbsolutePath()+" "+String.format("%.2f",file.length()/1024.0f )+"KB\t上传失败";  
                    break;  
                }  
            }*/
		} catch (HttpException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 

	}
	
	public static void main(String[] args) {
		FileManager fm = new FileManager();
		File[] filList =fm.searchChildDirs("D:/524567164"); 
        for(File pf:filList){
        	//for(int j=0;j<filList[i].length();j++){
        	File[] fl = fm.searchChildDirs(pf.getAbsolutePath());
        	String p_name = pf.getName();
        	int p_id = pTypeMap.get(p_name);
        	
        	for(File f:fl){
        		String c_name = f.getName();
        		int c_id = cTypeMap.get(c_name);
        		List<File> bottomFile = fm.searchFile(f.getAbsolutePath());
        		
        		for (File b:bottomFile) {
        			new FileUpload().fileUpload("你的url地址xxx.php", b, arg0, arg1);
        		}
        		//System.out.println(f.getName());
        		//}
        	}
        	//System.out.println(filList[i].getName());
        }
		
	}
}

 

分享到:
评论

相关推荐

    java实现ftp自动上传文件

    Java 实现FTP自动上传文件是一项常见的任务,尤其在自动化运维和数据传输中。...以上就是Java实现FTP自动上传文件所涉及的主要知识点,理解并掌握这些内容可以帮助你构建一个高效、稳定的FTP文件上传系统。

    java实现上传网络图片到微信临时素材

    要实现上传网络图片到微信临时素材,我们需要使用 Java 语言编写上传程序。首先,我们需要获取微信 access_token,这个 token 是微信服务器颁发的临时令牌,用于验证用户身份。 ```java String url = ...

    java 监听本地文件自动上传服务器

    通过这些Java技术,你可以构建一个本地文件系统与远程服务器之间的实时同步系统,从而满足文件自动上传的需求。这只是一个基础实现,根据具体业务场景,你可能需要对代码进行适当的调整和扩展。

    JAVA实现客户端软件自动更新.pdf

    自动升级客户端首先会将本地的autoupdate.xml内容发送给服务端,服务端收到客户端的版本 信息后与服务端本地的版本信息(autoupdate.xml)进行比较,首先比较Version,如果一致 则通知客户端无需更新,如果不一致则...

    java文件异步上传

    `jQuery.uploadify`是一个广泛使用的JavaScript插件,用于实现文件的异步上传。在提供的文件列表中,`uploadify.css`和`jquery.uploadify-3.1.js`(以及其压缩版`jquery.uploadify-3.1.min.js`)是这个插件的核心...

    JAVA将一个数据中数据定时自动复制(抽取)到另一个数据库

    本文将深入探讨如何使用Java编程语言实现从一个数据库中定时自动抽取数据并复制到另一个数据库,以达到数据库间的实时或近实时同步。 首先,我们需要了解基础概念。Java是一种广泛使用的面向对象的编程语言,具有...

    java实现ftp上传jar包

    6. **代码示例**:以下是一个使用Apache Commons Net库上传JAR文件的基本Java代码示例: ```java import org.apache.commons.net.ftp.*; FTPClient client = new FTPClient(); try { client.connect("ftp....

    Java 上传文件到 SharePoint

    将Java与SharePoint结合,可以帮助开发者实现文件的自动化上传,这对于企业内部的数据管理和协同工作至关重要。本篇文章将深入探讨如何使用Java来上传文件到SharePoint。 首先,我们需要了解Java中用于文件操作的...

    java ftp 上传 IIS 展示,代码+文档

    通过Java FTP库,我们可以创建Java程序来与IIS服务器通信,实现文件的自动化上传,这对于网站部署、数据同步等场景非常有用。 在描述中提到的“两个工具类”,通常是指两个Java类,它们分别实现了FTP功能的不同方面...

    java源码包---java 源码 大量 实例

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    利用FTP服务器来实现Java部署程序的自动更新

    在Java开发过程中,为了保证应用...综上所述,利用FTP服务器进行Java程序的自动更新是一个综合了网络通信、文件操作和程序控制等多个技术领域的实践。通过合理的设计和实现,可以有效地提升软件更新的效率和用户体验。

    Java文件上传并自动解压

    综上所述,实现“Java文件上传并自动解压”这一功能,需要理解并运用Java Servlet、SpringMVC、文件I/O、ZIP操作、服务器配置等多个技术领域,确保代码的健壮性和安全性。通过上述步骤,我们可以构建一个稳定可靠的...

    java 大文件(视频)分片上传+压缩

    - 文件合并:在所有分片上传完成后,Java程序需要将这些分片按照原始顺序合并成一个完整的文件。这通常涉及到文件流的读取和写入操作。 3. **FFmpeg**: - **FFmpeg**是一个强大的跨平台的多媒体处理工具,它可以...

Global site tag (gtag.js) - Google Analytics