java上传FTP为什么总是返回false?
java上传FTP的时候 返回false上传不了 请大家帮忙看看原因?
程序不抱错
100分奉上
--------------------编程问答-------------------- ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
package cn.b2ge.ftp;
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPClient;
public class FTPFile3 {
/**
* @param args
*/
public static void main(String[] args) {
uploadFileByApacheByBinary("192.168.1.131","xiaozejun","xiaozejun","/","hello.txt");
}
public static void uploadFileByApacheByBinary(String server,String userName, String userPassword, String path, String fileName) {
FTPClient ftpClient = new FTPClient();
try {
FileInputStream in=new FileInputStream(new File("c:/hello.txt"));
ftpClient.connect(server);
ftpClient.login(userName, userPassword);
ftpClient.changeWorkingDirectory(path);
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
boolean flag = ftpClient.storeFile(new String(fileName.getBytes("GBK"), "iso-8859-1") , in);
System.out.println(flag);
in.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if(ftpClient.isConnected()) {
try {
ftpClient.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
这个地方貌似是少写了什么
还有一个注意的地方 就是必须关闭每次上传的时候用完了关闭 --------------------编程问答-------------------- 没做过相关内容,帮顶。祝楼主好运 --------------------编程问答-------------------- 你如果采用的是windows系统采用c://hello.txt
他可能找不到路径返回来的就是FALSE
--------------------编程问答-------------------- 不是找不到路径
问题补充:文件上传上去了 只是上传上去的是空文件
文件里面的内容没有上传上去 --------------------编程问答-------------------- 那就是没有往文件里面写啊,是用的linux吗?看看权限。有权限问题。 --------------------编程问答-------------------- 有可能是权限作怪!测试测试 --------------------编程问答-------------------- 加上这句ftpClient.enterLocalPassiveMode();试试 --------------------编程问答-------------------- 服务器开上传权限了么? --------------------编程问答-------------------- 以下观点供参考:
服务器有没给修改的权限,如果只有upload权限是没用的,如果没给修改的权限可能就就有问题了,因为可能上传的FTP组件首先是新建一个文件,然后再往文件写数据,中间还有可能涉及到修改文件名,但是如果没有修改权限就可能导致失败。这个是我在实际过程中遇到的。 --------------------编程问答-------------------- 我也想知道啊。为什么的??
补充:Java , Java EE