Java上传文件ftp服务器

Java上传文件ftp服务器,java,file,upload,ftp,Java,File,Upload,Ftp,我正在尝试用Java制作一个函数: public static void upload_files(String us, String pw, String ip, String f){ try { FTPClient client = new FTPClient(); client.connect(ip); client.login(us,pw); client.upload(f); } catch(Exception e) { e.printSt

我正在尝试用Java制作一个函数:

public static void upload_files(String us, String pw, String ip, String f){
 try
 {
    FTPClient client = new FTPClient();
    client.connect(ip);
    client.login(us,pw);
    client.upload(f);
 } catch(Exception e) {
    e.printStackTrace();
 }
}
我添加了apache库,但遗憾的是,我在“上载”行中出错 我想我没有正确使用上传的方法,但我不知道如何

当我用Netbeans编译它时,它注意到有一行错误“client.upload(f);”

输出中给出的错误是“java.lang.RuntimeException:不可编译的源代码-错误的符号类型:org.apache.commons.net.ftp.FTPClient.upload”

提前谢谢大家。 注意:“f”是指向我的文件的直接路径


编辑:


问题“完全”解决了,因为现在我在ftp服务器上上传了一些文件,但遗憾的是,它们都是空的,如下所示。

Apache FTPClient没有
上传方法

它所拥有的是一个名为的方法

它将文件在服务器上应有的名称和
InputStream
作为参数。InputStream读取本地文件,因此您需要:

 InputStream is = new FileInputStream( f );
 client.storeFile( some_name, is );

知道你会遇到什么样的错误会更容易…@Adam:我就是不能在netbeans上运行我的程序,因为这行是“client.upload(f)”。。。根据软件“找不到符号”。只需在此处复制粘贴堆栈跟踪。当我查看时,我没有看到
上载方法。请不要编辑问题以删除问题。这使得这个问题对于未来的访问者来说毫无用处。现在,由于netbeans,我在“storeFile”中遇到了同样的错误,即“找不到符号”。当我运行它时,会出现这个错误:“java.lang.RuntimeException:不可编译的源代码-错误的符号类型:storeFile”。我认为这个错误不是来自netbeans。下面是编译后的错误:“错误:找不到symbol-storeFile(“test1”,is);symbol:method-storeFile(String,InputStream)位置:class-main 1错误”我明白了。事实上,现在上传了一些文件。遗憾的是,文件完全是空的,但我的主要观点已经解决了。不,我想知道为什么我的txt文件没有上传。但是我会在我的ftp服务器上上传一些“test1.txt”。我应该为这样的问题打开一个新的主题吗?或者我们可以继续吗?因为上载的文件完全为空(0 B)。您可能需要在InputStream上调用
flush
close
。API文档是。如果您是Java新手,这可能会显得有点吓人,但当您习惯它时,这一点就非常清楚了。