有关ftp4j的FTPListParseException异常
昨天換了個ftp服務器,發現程序出現了異常it.sauronsoftware.ftp4j.FTPListParseException,網上搜了下,說是FTPClient.list()時it.sauronsoftware.ftp4j.listparsers.DOSListParser對日期的解析出現了異常,參考了提供的解決方案,ftp服務器是不能隨便動的,應用服務器語言環境也是不好修改的,只能修改ftp4j的源碼。
網上下到源碼http://sourceforge.net/projects/ftp4j/?找到DOSListParser,日期的解析使用DATE_FORMAT?
//private static final DateFormat DATE_FORMAT = new SimpleDateFormat("MM/dd/yy hh:mm a");修改前 private static final DateFormat DATE_FORMAT = new SimpleDateFormat("MM/dd/yy hh:mm a", Locale.ENGLISH);ftp返回的文件列表類似"01-06-16 ?06:02AM ? ? ? ? ? ? ? ??2245?****.txt",DOSListParser一行一行的解析,組成日期格式"01/06/16 06:02 AM",使用DATE_FORMAT parse成日期,本來沒什么問題就出現在"AM"上,修改前DATE_FORMAT的Locale是默認的,也就是和操作系統有關,我本地是windows地區是中國,因此"MM/dd/yy hh:mm a"不能解析"01/06/16 06:02 AM",而能夠解析"01/06/16 06:02 上午",好辦,修改如上DATE_FORMAT統一使用Locale.ENGLISH,既然DATE_FORMAT統一使用Locale.ENGLISH,那么兼容期間,對AM/PM進行轉換,中文-》英文
ampm=("上午".equals(ampm)? "AM":("下午".equals(ampm)? "PM":ampm)); String mdString = month + "/" + day + "/" + year + " " + hour + ":" + minute + " " + ampm;源碼是用Ant打包的,導入idea中直接運行build的jar就好了,很順利
?
補充下:ftp服務器架在windws上使用DOSListParser解析,架在linux上使用UnixListParser解析
?
轉載于:https://www.cnblogs.com/yhzh/p/5110293.html
總結
以上是生活随笔為你收集整理的有关ftp4j的FTPListParseException异常的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: linux下curl指令常见使用
- 下一篇: Android数据库高手秘籍(二):创建
