java代码 经已连接成功linux ftp服务器,但是就是上传不了文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java代码 经已连接成功linux ftp服务器,但是就是上传不了文件相关的知识,希望对你有一定的参考价值。

我在虚拟机安装的linux已经安装了vsftpd服务,也启动了服务。在使用服务的时候也把防火墙关了,java代码能正常连接linux FTP服务器,但就是不能用java代码上传txt文件。我在linux 用了useradd -d / 用 户名并为用户设置了密码。 然后只在/etc/vsftpd/vsftpd.conf修改了anonymous_enable使其变成anonymous_enable=NO,其他什么都没改。但是就是上传不了txt文件

java代码如下:
FTPClient ftp = new FTPClient();
省略了和linux ftp服务器连接的代码,已经成功和linux ftp服务器成功连接

可能是下面代码有问题
FileInputStream fis = null;
File srcFile = new File("D:\\ftptest.txt");
fis = new FileInputStream(srcFile);
ftp.changeWorkingDirectory("/");
ftp.setBufferSize(102400);
ftp.setControlEncoding("GBK");
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.storeFile("ftptest2014.txt",fis);
ftp.logout();
ftp.disconnect();

求答案,我真的很急,这个问题困扰我一个星期了,下个星期就要交这个的作业,求求大家帮帮忙。谢谢大家。

你是想从服务器下载文件吧?那应该用retrieveFile(String remote, OutputStream local),而不是storefile啊,自己看看API
http://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html追问

我是想上传文件到linux ftp服务器的

追答

那应该没错啊,你把exception贴上来

追问

现在能在 / 下生成了一个txt,但是里面没内容,求破。

追答

你试试用正常的ftp客户端能传吗

追问

试过了,在connect to server中,能上传就是不能打开

参考技术A 你没有开放FTP上传下载权限,看一下Linux下VSFTP配置文档追问

怎样开,求答案,谢谢,write_enable=YES。早就设置了。难道不是这个,是哪个,请告诉我。
现在能在 / 下生成了一个txt,但是里面没内容,求破。

以上是关于java代码 经已连接成功linux ftp服务器,但是就是上传不了文件的主要内容,如果未能解决你的问题,请参考以下文章

Java通过ftp上传Linux文件权限问题

ubuntu linux 下如何启动ftp服务

linux ftp服务器拒绝连接

我的代码库-Java8实现FTP与SFTP文件上传下载

LINUX随笔六 FTP端口限制和ftpsftp脚本连接

Linux启用ftp服务及连接