Tag: ftp

Apache Camel ftp使用者一次又一次地加载相同的文件

我有以下弹簧配置 在ftp方面,我有3个文件夹,包含我要下载的文件。 我想实现以下场景: 在ftp上,第一个数据拉消费者将固定数量的文件(对于isntance 5)加载到目标文件夹 在第二次尝试加载文件时,ftp状态仍然相同(5个文件)和驼峰ftp消费者什么都不做(除了检查新文件) 要ftp到达新的2个文件,并在此数据拉消费者只下载这两个新文件 目前我的当前解决方案每次运行dataload进程时都会下载所有文件,我如何管理有关下载文件的信息以防止重复下载(我的意思是已经从ftp复制了文件),我可以编写自己的filter来过滤掉已下载的文件,但我相信应该有内置function,这将给我控制这个(也许是idempotentRepository,实际上我不确定)…

Java下载管理器

我需要通过FTP / HTTP从Java获得几个巨大的文件(几个演出)。 是否有一个现成的库(java /命令行工具)来方便下载? 一些明显的要求是: 多连接下载 – 应该能够打开几个连接到服务器以加速下载(如FlashGet / GetRight / …) 恢复下载 编辑 – 我真的不想写这样的图书馆,而是为现有的测试生产级图书馆窃取(或支付)。 rsynch不相关,因为我需要从HTTP和FTP站点下载文件,它不是用于内部文件传输。

使用Java通过FTP将所有目录复制到服务器

我需要将目录从本地磁盘复制到服务器。 该目录包含许多目录,子目录和文件。 (想想目录的层次结构树)。 以下是复制一个文件的示例: public void saveFilesToServer() throws IOException { FTPClient ftp = new FTPClient(); ftp.connect(ftp.foobar.com); if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) { ftp.disconnect(); log.fatal(“FTP not disconnected”); } ftp.login(“foo”, “qwerty”); log.info(“Connected to server .”); log.info(ftp.getReplyString()); ftp.changeWorkingDirectory(“test”); ftp.makeDirectory(“somedir”); ftp.changeWorkingDirectory(“somedir”); ftp.setFileType(FTPClient.BINARY_FILE_TYPE); java.io.File srcFolder = new java.io.File(folderPath); FileInputStream fis = new FileInputStream(srcFolder); ftp.storeFile (fileName, fis); ftp.disconnect(); log.info(“FTP disconnected”); } 现在,我需要复制一个目录( somedir )与somedir所有子目录和文件。 […]

在Android中跟踪FTP上传数据?

我有一个工作的FTP系统与Android,但我希望能够跟踪上传的字节,所以我可以随着上传的进行更新进度条。 这可能与Android有关吗? 现在,我正在使用org.apache.common.net.ftp ,我正在使用的代码如下。 另外,我在AsyncTask中运行它。 package com.dronnoc.ftp.complex; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.SocketException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.io.CopyStreamEvent; import org.apache.commons.net.io.CopyStreamListener; import org.apache.commons.net.io.Util; import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.Window; public class Main extends Activity { /** Called when the activity is first created. */ @Override public void […]

如何使用java按上次更新时间排序SFTP文件?

我的FTP服务器中有一组文本文件。 我想阅读所有文件都是今天上传的。 其中我必须打印最后三个上传文件的属性。 (名称,上传时间,大小)。 现在我将能够打印存在于FTP服务器中的文件的名称和属性,但它不在订单中并显示为垃圾。 现在我想打印最后三个上传文件的名称,大小,路径,上传时间。 任何人都可以帮我实现这个目标吗? 这是我的片段: package com; import java.io.File; import edu.vt.middleware.crypt.io.TeePrintStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; import java.net.ConnectException; //import java.sql.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import javax.mail.MessagingException; import javax.mail.internet.AddressException; import org.apache.commons.io.FileUtils; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.net.ftp.FTPFile; import com.enterprisedt.net.ftp.FTPConnectMode; import com.enterprisedt.net.ftp.FTPException; import com.enterprisedt.net.ftp.FTPTransferType; import com.enterprisedt.net.ftp.Protocol; import com.enterprisedt.net.ftp.SecureFileTransferClient; import […]

使用线程按块处理文件块

我有一个由5000个IP地址组成的arraylist。 对于每个IP地址,我想执行SNMPGet请求和FTPDownload命令。 我想以一种方式实现它,其中一次为前五个IP地址同时运行2个不同的线程。 在执行这些IP地址之后,将在这些线程上执行接下来的2个IP地址。 任何人都可以帮忙怎么做? 这里,connection是一个扩展线程的类,要实现的工作是在run()方法中编写的。 请帮忙。 Connection newConnection =new Connection(0); Connection newConnection1 =new Connection(1); for(int i = 0; i < NE_list.getRowCount(); i=i+2) { if(NE_list.getValueAt(i, 0).toString().equals("true")) //Some condition here for the IP Address { newConnection.i=i; newConnection1.i=i+1; newConnection.runprogram(); newConnection1.runprogram(); } } class Connection extends Thread{ int i; Connection(int val){ i=val; } void runprogram(){ start(); } public […]

Apache Camel端点写AS400 FTP文件:

我试图通过camel端点将文件写入AS400 FTP,如下所示 ftp://user@host:21/QSYS.LIB/XINFT.LIB?password=password&passiveMode=true ftp://user@host:21/QSYS.LIB/XINFT.LIB?password=password 但写操作失败,出现以下exception Cannot change directory to: QSYS.LIB. Code: 550. Processed by failure processor: FatalFallbackErrorHandler[Pipeline[[Channel[Wrap[com.privasia.edi.core.routing.exception.CustErrorHandler@2003b7bd] -> com.privasia.edi.core.routing.exception.CustErrorHandler@2003b7bd], Channel[Log(ypn-cusres-containerData-outbound)[Error in YPN CUSRES Container Schedular call.]]]]] org.apache.camel.component.file.GenericFileOperationFailedException: File operation failed: 550-Specified library does not exist or cannot be accessed. 550 Current library not changed. Cannot change directory to: QSYS.LIB. Code: 550 at org.apache.camel.component.file.remote.FtpOperations.doChangeDirectory(FtpOperations.java:705)[218:org.apache.camel.camel-ftp:2.10.7] at org.apache.camel.component.file.remote.FtpOperations.changeCurrentDirectory(FtpOperations.java:683)[218:org.apache.camel.camel-ftp:2.10.7] […]

Java中的URL连接(FTP) – 简单问题

我有一个简单的问题。 我正在尝试用Java将文件上传到我的ftp服务器。 我的计算机上有一个文件,我想制作该文件的副本并上传它。 我尝试手动将文件的每个字节写入输出流,但这对于复杂文件(如zip文件或pdf文件)不起作用。 File file = some file on my computer; String name = file.getName(); URL url = new URL(“ftp://user:password@domain.com/” + name +”;type=i”); URLConnection urlc = url.openConnection(); OutputStream os = urlc.getOutputStream(); //then what do I do? 只是为了踢,这是我试图做的: OutputStream os = urlc.getOutputStream(); BufferedReader br = new BufferedReader(new FileReader(file)); String line = br.readLine(); while(line != null […]

将文件FTP到服务器,但结果以零字节大小到达

我想使用FTPClient将文件上传到数据库服务器。 它显示文件已成功传输,但文件为空(大小为0字节)。 下面是我用来构建的源代码。 谁能解决这个问题? package Examples; import org.apache.commons.net.ftp.*; import java.io.FileInputStream; import java.io.IOException; public class Main { public static void main(String[] args) { FTPClient client = new FTPClient(); FileInputStream fis = null; try { client.connect(“server”); client.login(“userid”, “password”); System.out.print(“Message : ” + client.getReplyString()); client.changeWorkingDirectory(“/loaddata”); System.out.println(“Working Directory” + client.printWorkingDirectory()); client.setDefaultPort(22); int f1 = client.getDefaultPort(); boolean f2 = client.setFileType(FTPClient.BINARY_FILE_TYPE); […]

一旦FTP在java中完成,就会创建0 kb文件

我正在尝试将文件FTP到远程计算机上。 以下是我的代码: – FTPClient ftpClient = new FTPClient(); ftpClient.connect(“home.abc.com”); ftpClient.login(“remote”, “guesst12”); int replyCode = ftpClient.getReplyCode(); ftpClient.changeWorkingDirectory(“share”)) ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); InputStream input = new FileInputStream(new File(“H:/testFile.txt”)); OutputStream out = ftpClient.storeFileStream(“testFile.txt”); Util.copyStream(input, out); out.close(); input.close(); ftpClient.completePendingCommand() ftpClient.logout(); ftpClient.disconnect(); 当我执行这段代码时,代码执行没有任何问题,但在远程机器上,当我检查文件时,正在创建文件,但没有内容(OKB)文件。 我在代码中遗漏了什么。 [更新]:我尝试使用以下代码存储文件: – if(ftpClient.storeFile(“testCopy.txt”, input)) { System.out.println(“File Stored Successfully”); } System.out.println(ftpClient.getReplyString()); 现在收到的回复代码是: – 451 Failure writing to local file. 这意味着什么。 […]