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();

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

第1个回答  2014-02-22
你是想从服务器下载文件吧?那应该用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中,能上传就是不能打开

本回答被提问者采纳
第2个回答  2014-02-22
你没有开放FTP上传下载权限,看一下Linux下VSFTP配置文档追问

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