java上传FTP的时候 返回false
上传不了  请大家帮忙看看原因?
程序不抱错 
100分奉上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();  
                        }  
                }  
        }  

}

解决方案 »

  1.   

    ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);  
    这个地方貌似是少写了什么
    还有一个注意的地方 就是必须关闭每次上传的时候用完了关闭
      

  2.   

    你如果采用的是windows系统采用c://hello.txt
    他可能找不到路径返回来的就是FALSE
      

  3.   

    那就是没有往文件里面写啊,是用的linux吗?看看权限。有权限问题。
      

  4.   

    加上这句ftpClient.enterLocalPassiveMode();试试
      

  5.   

    以下观点供参考:服务器有没给修改的权限,如果只有upload权限是没用的,如果没给修改的权限可能就就有问题了,因为可能上传的FTP组件首先是新建一个文件,然后再往文件写数据,中间还有可能涉及到修改文件名,但是如果没有修改权限就可能导致失败。这个是我在实际过程中遇到的。