需要转一下编码,你的java的class文家中是GBK的编码,对面linux下是iso8859-1编码
String fileNameTmp = new String(files[i]getBytes("iso-8859-1"), "GBK");//将从linux取得的文件名转换为GBK编码
String filename=fileNameTmp substring(regStrlength()+1,fileNameTmp length());
然后再把转完编码的文件名按你的要求进行截取
orgapachecommonsnetftpFTPClient;
java 获取ftp文件的最后修改时间比实际时间少了8小时代码如下:
FTPFile[] files = ftpClientlistFiles();
for (FTPFile file : files){
Systemoutprintln(filegetName());
Date date = filegetTimestamp()getTime();
Systemoutprintln(文件修改 + dateFormatformat(date));
Date date1 = new Date();
Systemoutprintln(now + dateFormatformat(date1));
long f = date1getTime() -dategetTime();
Systemoutprintln(时间差 + f/60000+分);
}
------解决方案--------------------
FTPFilegetTimestamp()getTime()
javaioFilelastModified()
>
以上就是关于linux下的java通过ftp读取另一linux下的文件名出现中文乱码。全部的内容,包括:linux下的java通过ftp读取另一linux下的文件名出现中文乱码。、java 获取ftp文件的最后修改时间比实际时间少8小时,该怎么处理、java怎么打开FTP服务器上的文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)