Mav*_*ick 0 java ftp networking nullpointerexception apache-commons
我有代码将文件上传到服务器.
import org.apache.commons.net.ftp.FTPClient;
import java.io.File;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPFile;
import java.io.FileInputStream;
import java.net.SocketException;
public class FtpConnectDemo {
public static void main(String[] args) throws SocketException, IOException{
FTPClient client = new FTPClient();
FileInputStream fis = null;
client.connect("ftp.someserver.co.uk",21);
boolean login = client.login("webmaster@someserver.co.uk",
"mypassword");
String filename = "E:/workbench j2ee/cPEP_UI/WebContent/engine.xml";
client.storeFile(filename, fis);
client.logout();
fis.close();
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,它给了我这个错误:
Exception in thread "main" java.lang.NullPointerException
at FtpConnectDemo.main(FtpConnectDemo.java:22)
Run Code Online (Sandbox Code Playgroud)
用户名,密码,服务器名称都可以.那怎么了?我可以使用telnet连接到FTP.有任何想法吗?
好的,现在我没有得到nullpointer异常,因为我初始化了fis.但我的文件尚未上传; 可能是什么问题?
你永远不会实现你的变量fis.我认为这是你的问题.
这导致两个问题:
null为第20行的文件.这由您正在使用的Apache FTP库处理.NullPointerException第22行,当你试着打电话close().另外,我想指出的另一件事是:第20行,当你打电话时storeFile.您提供的路径是指向本地文件的路径.我想你应该把远程文件路径放在这里.
最终代码应如下所示:
// ...
FileInputStream fis = new FileInputStream("E:/workbench j2ee/cPEP_UI/WebContent/engine.xml");
// ...
client.storeFile("engine.xml", fis);
// ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2295 次 |
| 最近记录: |