救火!!如何用JAVA实现FTP多文件上传?

stevenchazli 2007-04-26 09:25:15
本地有某个目录下有多个文件,现在需要通过FTP方式COPY到指定服务器,该如何做?需要用到SOCKET吗?如果不用该怎么做?
十万火急!
...全文
754 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
javaboy2006 2007-05-14
  • 打赏
  • 举报
回复
http://java.ccidnet.com/art/3737/20060717/638245_1.html
supermanwg 2007-05-14
  • 打赏
  • 举报
回复
你首先list下,得到list后再做个循环处理!
我记得好像有个专门list目录中所有文件的函数的!
HelloWorld_001 2007-04-26
  • 打赏
  • 举报
回复
我也正需要了,好了的时候
在这发下最后解决方案,谢谢拉~
stevenchazli 2007-04-26
  • 打赏
  • 举报
回复
下面是我写的上传单个文件的例子,如何批量上传\\FILES\TW\下的所有文件(或者指定的一些文件)至某个指定的FTP?

//FTP服务器的配置信息,包括服务器IP,用户名和密码
final String FTP_SERVER_IP = "xx.xx.xx.xx";
final String FTP_SERVER_USER = "xx";
final String FTP_SERVER_PASS = "xx";

FtpClient ftpClient = new FtpClient(FTP_SERVER_IP,21);
ftpClient.login(FTP_SERVER_USER, FTP_SERVER_PASS);
ftpClient.cd(district+"/");
ftpClient.binary();
TelnetOutputStream os = null;
FileInputStream is = null;
try{
os = ftpClient.put(newname+"."+ext);
ava.io.File file_in = new java.io.File(originalFileName);
if (file_in.length()==0) {
return null;
}

is = new FileInputStream(file_in);
byte[] bytes = new byte[4096];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}

} catch (IOException ex1) {
ex1.printStackTrace();
}
finally{
if (is != null) {
is.close();
}
if (os != null) {
os.close();
}
}
stevenchazli 2007-04-26
  • 打赏
  • 举报
回复
再有 看了很多帖子 说是要用到 SOCKET 需不需要??
stevenchazli 2007-04-26
  • 打赏
  • 举报
回复
那要如何查找某个目录下的所有文件呢?
masse 2007-04-26
  • 打赏
  • 举报
回复
批量的,你就写一个循环啊
stevenchazli 2007-04-26
  • 打赏
  • 举报
回复
To masse:有没有可以借鉴的简单的例子?我只知道如何对单个文件进行上传,但对于批量的文件COPY没有什么思路~~
masse 2007-04-26
  • 打赏
  • 举报
回复
apache-commons组件里面有ftp上载
很多开源项目也都有

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧