java - 使用 FTPClient 上传到 FTP 服务器的 .class 已损坏

标签 java ftp ftp-client ftp-server

<分区>

我正在 FTP 服务器上上传一个 .class 文件。上传的文件不是空的,但肯定已损坏,因为我无法反编译它。我怀疑在 FTP 服务器上上传 .class 文件有不同的方式。

这是片段:

public boolean uploadFileOnFTPServer(File file, String uploadToPath) { 
    //file - File stored on local system that is to be uploaded on server
    //uploadToPath - Remote server path where the file is to be stored

    boolean isUploaded = false;
    try {
        FileInputStream inputStream = new FileInputStream(file);
       //InputStream inputStream = new FileInputStream(file);

        if (connectToFTPServer()) { // connectToFTPServer() - method to connect to server
            ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); // ftpClient is an object of FTPClient class

            if (ftpClient.login(userName, password)) {
                System.out.println("Logged in to server. Username: " + userName);
                if (ftpClient.changeWorkingDirectory(uploadToPath)) {
                    System.out.println("Navigated to path " + uploadToPath);                                                              

                    if (ftpClient.storeFile(file.getName(), inputStream)) {
                        inputStream.close();
                        System.out.println("File " + file.getName() + " uploaded to server.");
                        isUploaded = true;
                    }

                } 
        }
    } catch (Exception e) {
        strRemarks = "Exception reported: Unable to upload file. Error Details: " + e.toString();
        System.out.println(strRemarks);
        e.printStackTrace();
    } finally {
        disconnectFTPServer();
    }
    return isUploaded;
}

最佳答案

您是否尝试过以二进制模式上传文本文件以查看实际传输的内容?

我还建议指定编码

client.setControlEncoding(encoding);
client.connect(host, port);

这应该在连接之前完成。

关于java - 使用 FTPClient 上传到 FTP 服务器的 .class 已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23149624/

相关文章:

ftp - 有没有办法将文件同步到未安装 rsync 的远程位置?

java - 如何从java检查FTP服务器上的文件可写

java - org.apache.commons.net.ftp 使用不同的端口

asp.net - 将 ASP.NET 网站与 Web 服务器同步?

java - 如何将捕获的图像路径从imageview保存到mysql数据库

java - 在 DispatcherServlet 中未找到名称为 'SpringDispatcher' 的 URI 的 HTTP 请求映射

java - 谷歌应用引擎 : Java or Python

Ubuntu - ssh/ftp 用户的 chroot 虚拟系统

java - 我无法使用 Java-Android 中的 FTPClient 连接到 FTP 服务器的主机

java - GUI 编程并从另一个类中调用一个类