druggo 发表于 2006-3-28 18:40:37

vftp时间排序问题

唉,忘了我新做的系统居然是1.4……

bbskill 发表于 2006-3-28 23:47:25

什么新做的系统是1.4?jre?

druggo 发表于 2006-3-29 00:14:27

对,是jre(jdk)
不过我发现对时间的排序还是有问题……

bbskill 发表于 2006-3-29 01:23:50

什么问题?
时间排序只是实现了ftp list specification的time stamp三种规范。
如果有些Server使用了一种自定义的list format的话,那就不能排序了。
能把你的情况贴出来吗?

druggo 发表于 2006-3-29 20:34:12

什么问题?
时间排序只是实现了ftp list specification的time stamp三种规范。
如果有些Server使用了一种自定义的list format的话,那就不能排序了。
能把你的情况贴出来吗?

right1, right2 是leapftp两次排序的结果,是正确的

wrong1,wrong2 是vftp两次排序的结果,似乎只有1是正确的,2则完全不对

bbskill 发表于 2006-3-29 22:46:51

你那服务器list的Date格式应该是MMM DD hh:mm,没有年份的。
我不知道leapftp是怎么把H13236,H14108等的年份设置为2005,vftp默认是假如没有年份提供的话,就设置为当年(即2006).所以wrong2的排序是这样的。
你有没CuteFTP?能用他来排一下吗?谢谢。
And,能把Leapftp获取你那服务器目录的命令(在它的log里面)贴出来吗?vftp默认是LIST -aL的。
PS:vftp其实蛮好听的,有点想把名字改成vftp了。嘿嘿。

druggo 发表于 2006-3-30 09:36:57

抱歉,我没有cuteFTP
但是我用过FlashFXP,排序也是正确的。
leapftp没有显示详细的命令:

xxxx is current directory.
TYPE A
200 Type set to A.
PORT 192,168,0,1,117
200 PORT command successful.
LIST
150 ASCII data connection for /bin/ls (192.168.0.1,2677) (0 bytes).
226 ASCII Transer complete.
Transfer done: 14,102 bytes in 0.234 secs(60.26 KB/s)
...

另外服务器是Solaris

bbskill 发表于 2006-3-30 12:26:28

哈,原来如此.

leapftp也是这样的原则,但多了一步,就是假设年份是今年的时候,再测试是否在当前的时间后面,如果是的话就把年份减一,这样H13236,H14108等的月份在现在的月份(3月)之后,所以年份就设置成2005了。下面是我修改过的补丁。附件只能上传350K的,所以就给个链接好了。直接下就行了.日期变得好看了。
virgoftp1.3.1.jar
页: [1]
查看完整版本: vftp时间排序问题