通过文件扩展名来判断,未上传完成的文件FTP服务器一般都会给它加一个预设的扩展名以区别,上传完成之后才换回原来的扩展名,自己写一个简单的过滤器,在用file.list()把file拿回来的时候过滤一下就OK了。

解决方案 »

  1.   

    晕。。list()方法拿回来的不是一个数组吗?数组不是可以遍历吗?File类不是有个getName()方法来得到文件名吗?得到了文件名不就可以得到扩展名吗?if一下扩展名,合适的拿回来,不合适的丢掉,不就这么简单吗?
      

  2.   

    给你最简单的一段代码,这里假设扩展名都是一个点加三个字母,
    String[] filters 就是下面声明的常量的集合,当然常量是随便你自己定义的。
    弄好赶紧结贴放分吧,hoho。----------------------------------
        //文件类型常量声明,可以根据实际需要进行扩充
        public static final String EXE = ".exe" ;
        public static final String PDF = ".pdf" ;
        public static final String RAR = ".rar" ;
        public static final String ZIP = ".zip" ;
        public static final String CHM = ".chm" ;
        public static final String DOC = ".doc" ;
        public static final String PPT = ".ppt" ;
        public static final String MP3 = ".mp3" ;
        public static final String WMA = ".wma" ;    /**
         * 根据指定的文件扩展名过滤文件
         * @param file
         * @param filters
         * @return
         */
        private boolean filteFiles(File file,String[] filters){
            for( int j = 0; j < filters.length; j++ ){
                String filesName = file.getName();
                int lngth = filesName.length();
                if( lngth >= 4 && 
                    filters[j].equalsIgnoreCase(
                       filesName.substring(lngth-4,lngth) ) ){
                    return true;
                }
            }
            return false;
        }