浏览 865 次
|
锁定老贴子 主题:用net::ftp下载ftp文件的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-08-18
最近用ruby编写一个ftp的下载程序,Net::FTP.new().connect(host,port)后ftp.ls(path)即可得到path下所有文件和文件夹的信息。问题是接下来怎样判断是普通文件还是文件夹,还有怎样根据ftp.ls(path)的信息取得具体文件名,文件大小呢。
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-12-12
1.得到具体文件夹名:
dir=ftp.ls(path).find_all{|i|i[0,10]=='drw-rw-rw-'}.map{|i|i.split(' ',9)[-1]} 或dir=ftp.ls(path).map{|i|i.split(' ',9)[-1]}-ftp.nlst(path) 当然或许会得到'.'和'..',这是当前目录和上级目录,不要delete就是了 2.得到具体文件名: ftp.nlst(path) 可以获取path下所有文件名 3.判断普通文件还是文件夹 list=ftp.ls(path).partition{|i|i[0,10]=='drw-rw-rw-'} 此时list是个嵌套数组,list[0]为文件夹,list[1]为普通文件 4.文件大小 ftp.size(filename) 得到的是字节数, |
|
| 返回顶楼 | |


