ftp客户端Java FTPClient远程文件大小0字节VXWorks
我正在使用apache commons FTP库,试图查看运行VXWorks的U盘上的文件。每次我试图查看该系统中的任何文件时,它都会返回0文件大小。当服务器是Windows机器时,这可以正常工作。我使用的代码是:
public synchronized long getRemoteSize(String finalPath)
{
// Send file and if sent file doesn't match the source file, resend
try
{
FTPFile destinationFile = jh.getFtpClient().mlistFile(finalPath);
if (destinationFile != null)
{
return destinationFile.getSize();
}
else
{
return 0;
}
}
catch (IOException e)
{
return -1;
}
}
我还试图发送一个直码命令,但没有被识别。有人有其他选择或解释为什么它总是返回0大小吗
# 1 楼答案
听起来你的VXWorks FTP服务器不支持
MLST
命令,这是mlistFile()
在引擎盖下使用的命令。在MLST
命令中添加了RFC 3659。为了使用该命令,服务器需要实现该RFC最好使用} )。这应该是最兼容的功能。这个函数返回一个数组而不是一个文件,因此需要检查返回长度==1,否则应该或多或少地替换
LIST
命令(例如^{