Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-在FTP服务器上存储文件失败_Java_Bytearray_Ftp Client - Fatal编程技术网

Java-在FTP服务器上存储文件失败

Java-在FTP服务器上存储文件失败,java,bytearray,ftp-client,Java,Bytearray,Ftp Client,我正在尝试将byteArrayInputStream存储为FTP服务器上的文件。我已经可以连接到服务器并更改工作路径,但是触发将流存储为服务器上的文件的方法总是返回false 我正在使用ApacheFTPClient 谁能给我一个提示我的错误在哪里 代码如下: String filename = "xyz.xml" // connection returns true connectToFtpServer(ftpHost, ftpUser, ftpPassword, e

我正在尝试将byteArrayInputStream存储为FTP服务器上的文件。我已经可以连接到服务器并更改工作路径,但是触发将流存储为服务器上的文件的方法总是返回false

我正在使用ApacheFTPClient

谁能给我一个提示我的错误在哪里

代码如下:

    String filename = "xyz.xml"

    // connection returns true
    connectToFtpServer(ftpHost, ftpUser, ftpPassword, exportDirectory);

    // byteArray is not void
    ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArray);

    try {
        // change returns true
        result = ftpClient.changeWorkingDirectory(exportDirectory);

        // storing the file returns false
        result = ftpClient.storeFile(filename, byteArrayInputStream);

        byteArrayInputStream.close();
        ftpClient.logout();
    } catch (...) {
        ...
    } finally {
        // disconnect returns true
        disconnectFromFtpServer();
    }

我不相信这是你的密码。下面是另一个与kodejava非常相似的例子: 包org.kodejava.example.commons.net

import org.apache.commons.net.ftp.FTPClient;
import java.io.FileInputStream;
import java.io.IOException;

public class FileUploadDemo {
public static void main(String[] args) {
    FTPClient client = new FTPClient();
    FileInputStream fis = null;

    try {
        client.connect("ftp.domain.com");
        client.login("admin", "secret");

        //
        // Create an InputStream of the file to be uploaded
        //
        String filename = "Touch.dat";
        fis = new FileInputStream(filename);

        //
        // Store file to server
        //
        client.storeFile(filename, fis);
        client.logout();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (fis != null) {
                fis.close();
            }
            client.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 }
 }
我同意这是文件权限。目前还没有一种方法可以更改java本身的权限,但还有其他解决方案。请参阅此线程:

嗯,


詹姆斯我不相信这是你的密码。下面是另一个与kodejava非常相似的例子: 包org.kodejava.example.commons.net

import org.apache.commons.net.ftp.FTPClient;
import java.io.FileInputStream;
import java.io.IOException;

public class FileUploadDemo {
public static void main(String[] args) {
    FTPClient client = new FTPClient();
    FileInputStream fis = null;

    try {
        client.connect("ftp.domain.com");
        client.login("admin", "secret");

        //
        // Create an InputStream of the file to be uploaded
        //
        String filename = "Touch.dat";
        fis = new FileInputStream(filename);

        //
        // Store file to server
        //
        client.storeFile(filename, fis);
        client.logout();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (fis != null) {
                fis.close();
            }
            client.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 }
 }
我同意这是文件权限。目前还没有一种方法可以更改java本身的权限,但还有其他解决方案。请参阅此线程:

嗯,


James

这实际上是一个权限问题,因为用户组无效。将用户添加到用户组后,我可以再次存储文件。

这实际上是由于用户组无效而导致的权限问题。将我的用户添加到用户组后,我可以再次存储文件。

如果您使用相同的用户名和密码手动连接到同一服务器,您可以在该目录中以该名称存储文件吗?啊!我可以手动连接,但不能存储文件。谢谢这是一个权限问题。我认为您正在使用ApacheFTPClient,但您应该在问题中这样说。您有权访问FTP服务器日志吗?您已经勾勒出了异常处理。storeFile()肯定不会引发异常吗?是的,我正在使用Apache FTPClient。我会编辑它如果你用同样的用户名和密码手动连接到同一台服务器,你能在那个目录中存储一个同名文件吗?啊!我可以手动连接,但不能存储文件。谢谢这是一个权限问题。我认为您正在使用ApacheFTPClient,但您应该在问题中这样说。您有权访问FTP服务器日志吗?您已经勾勒出了异常处理。storeFile()肯定不会引发异常吗?是的,我正在使用Apache FTPClient。我会编辑它