java apache FTPClient上传文件时的一个问题

有的时候可能需要上传比较大的一个文件,导致文件还没有上传结束,而上传的文件却正在被读取使用,从而出错,能不能在上传的过程中将文件的后缀名改一下,上传完成后再将文件名改回来。或者有没有其他比较好的方式避免这个问题

源文件不变 长传时候在文件后面加.tmp 或者你想的后缀 完成后 操作这个文件重命名 具体代码懒得贴了追问

这个解决方法我也想到了,但是怎么改回来呢?远程执行shell脚本基本是行不通的,得先通过ssh登录吧,而用户名密码是不确定的。那httpClient有没有一个什么方法可以更改文件名呢

追答

ftpClient.rename( "/aaa.txt ", "/bbb.txt ");

温馨提示:内容为网友见解,仅供参考
无其他回答

Java FTPClient 连接FTP,上传文件,不能以中文保存
在连接之前设置ftpClient.setControlEncoding("GBK");连接之后再设置是没有作用的。

请教JAVA FTP上传的一个问题
在网上也发现另一个常见异常,我将它重现并做说明。其主要原因是很多FTP服务没有使用默认端口,在代码实现中,连接端口不正确所导致异常出现的。sun.net.ftp.FtpProtocolException: Welcome message: ??at sun.net.ftp.FtpClient.openServer(Unknown Source)at com.tools.FtpTool.<init>(FtpTool.java:29...

java 在用 FtpClient 执行远程命令的时候 550 Delete operation failed...
删除权限不够?检查一下,文件夹的权限。可以在连接ftp服务器测试下。有的时候端口不通,也可能会出现这个问题

java ftp上传时断网,文件损坏
if(ftpClient.storeFile(remote, is)){ return UploadStatus.Upload_From_Break_Success;} } \/\/如果断点续传没有成功,则删除服务器上文件,重新上传 if(!ftpClient.deleteFile(remoteFileName)){ return UploadStatus.Delete_Remote_Faild;} is = new FileInputStream(f);if(ftpClient.storeFile(remot...

java上传文件大小限制(java上传文件大小限制怎么解决)
用JAVA基于FtpClient类开发时有没有对上传文件时发送数据大小的限制的接...把JAVA压缩,用文件分割工具,分割成多个小压缩包,再一个一个上传到FTP。在后台action中判断,把上传的文件流用字节读出来,判断这个文件的字节流大小。setBufferSize():设置将发送到客户端的数据的缓冲区大小.根据你本地存贮...

使用java通过ftp下载文件,ftpClient.listFiles获取不到当前路径下的文件...
回答:File dir=new File(".");\/\/当前路径是项目文件夹,是src外面而不是里面 File[]files=dir.listFiles(new FileFilter(){ @Override public boolean accept(File arg0) { return arg0.isFile(); } }); System.out.println("有文件"+files.length+"个");

FTP上传时怎么解决中文路径和中文名称
还有一个问题,如果要上传的文件名是中文的话,上传的文件名将是乱码,乱码问题我尝试许多转码也解决不了,于是不得不使用下面的方法了。Apache的FTPClient:public static boolean uploadFileByApacheByBinary(StringBuffer fileContent,String server,String userName, String userPassword, String path, String...

java如何避免ftp上传同名文件自动覆盖问题
\/\/ 文件不存在,正常上传 ftpClient.storeFile(fileName, inputStream);} \/\/ ... 其他上传完成后的清理操作 ...} 在这个代码段中,我们首先在上传文件之前检查目标路径(`pathname`)下是否已经有与`fileName`同名的文件。如果存在,我们会输出一条提示信息,表示文件已存在并需要采取行动(比如通过...

关于JAVA FTP连接后文件列表中的中文是乱码
需要设置文件传输的格式,有2中格式 1:asicc 。2:binary格式 也就是二进制格式,并且ftpClient提供了相应的方法,asicc(),barry(),你要在连接ftp的时候加上此方法,ftpClient.binary();

java链接ftp上传文件的时候在putFileStream("",true),报错ftpprotocolexcep...
package com.sinosoft.sepmis.util;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPReply;

相似回答