文件批量传输组件作为架包使用说明

你离开我真会死。 提交于 2019-12-05 21:35:37

    文件批量传输组件可作为一个工具架包,其他系统可调用方法进行文件传输相关操作,能对某个文件夹进行自动监控、多线程批量传输、文件md5对比、错误重传等。文件批量传输组件作为系统直接使用见http://my.oschina.net/passerman/blog/715642。

    1.      发送单文件不中转时

发送端代码例子:

		FileClientConfig clientConfig=new FileClientConfig(false,true,false,"localhost",112);
/*		clientConfig.setAuthorityCheck(true);//权限验证
		clientConfig.setAuthorityKey("password111"); //验证密锁
*/		FileTransferClient fileTransferClient=new FileTransferClient(clientConfig);
		 fileTransferClient.init();
		 //要发送的文件
		String absolutePath="E:\\log.txt";
		FileInfo fileInfo=new FileInfo();
    	fileInfo.setFilePath(absolutePath);
		fileTransferClient.sendFile("\\log2.txt", fileInfo); //想保存的文件名
		

接收端代码例子:

  //只作为接收主机	
		FileServerConfig fileServerConfig=new FileServerConfig("d:\\csavefile", 112, false);
		ServerReceiveControl serverReceiveControl=new ServerReceiveControl(fileServerConfig);
		//serverReceiveControl.addServerFilePlugin(new ServerFilePlugin());
		//serverReceiveControl.addServerFilePlugin(new DemoServerFilePlugin());
		ReceiveServerPulse ReceiveServerPulse=new ReceiveServerPulse( serverReceiveControl);
		ReceiveServerPulse.start();

    2.  监控文件夹不中转时

发送端代码例子:

	//不中转监控传输
		FileClientConfig clientConfig=new FileClientConfig("E:\\upload",true,true,false,"localhost",111);
		clientConfig.setTimerTaskPeriod(1000*30);//每30秒监控一次
		/*clientConfig.setAuthorityCheck(true);//权限验证
		clientConfig.setAuthorityKey("password111"); //验证密锁
*/		FileTransferClient fileTransferClient=new FileTransferClient(clientConfig);
		/*fileTransferClient.getTransferControl().addClientFilePlugin(new DemoClientFilePlugin(fileTransferClient.getTransferControl()));//增加自定义拦截器
		fileTransferClient.getTransferControl().addClientFilePlugin(new AuthorityClientFilePlugin(fileTransferClient.getTransferControl())); //添加验证拦截器
		*/
        fileTransferClient.init();

接收端代码例子:

    与1相同。

    3.  监控文件夹中转传输

发送端代码例子:

FileClientConfig clientConfig=new FileClientConfig("E:\\upload", true, true, true, "localhost", 111,"localhost",112,201);
		clientConfig.setTimerTaskPeriod(1000*30);
		clientConfig.setAuthorityCheck(true);//权限验证
		clientConfig.setAuthorityKey("password111"); //验证密锁
		FileTransferClient fileTransferClient=new FileTransferClient(clientConfig);
		fileTransferClient.getTransferControl().addClientFilePlugin(new DemoClientFilePlugin(fileTransferClient.getTransferControl()));
		fileTransferClient.getTransferControl().addClientFilePlugin(new AuthorityClientFilePlugin(fileTransferClient.getTransferControl())); //添加验证拦截器
		fileTransferClient.init();

中转端代码例子:

FileServerConfig fileServerConfig=new FileServerConfig("d:\\csavefile", 111, true); //文件接收配置类
		ServerReceiveControl serverReceiveControl=new ServerReceiveControl(fileServerConfig); //文件接收控制类
		serverReceiveControl.addServerFilePlugin(new ServerFilePlugin());
		serverReceiveControl.addServerFilePlugin(new DemoServerFilePlugin());
		ReceiveServerPulse ReceiveServerPulse=new ReceiveServerPulse(serverReceiveControl);
		ReceiveServerPulse.start();

目标接收端代码例子:

 //只作为接收主机	
		FileServerConfig fileServerConfig=new FileServerConfig("d:\\csavefile", 112, false);
		ServerReceiveControl serverReceiveControl=new ServerReceiveControl(fileServerConfig);
		ReceiveServerPulse ReceiveServerPulse=new ReceiveServerPulse( serverReceiveControl);
		ReceiveServerPulse.start();

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!