在操作SFTP时,中文乱码

在用 jsch 操作 SFTP的时候,如果jar包版本时3-5,

都不允许修改编码.

jar包默认是UTF-8.

但中文都会乱码.

我们设置编码,是没有效果的.

这时候有朋友就采用换jar包的方式.

让版本不是3-5的.

其实可以通过方式来修改版本号,

从而修改编码.

//利用反射修改版本编号
Class<ChannelSftp> c = ChannelSftp.class;
f = c.getDeclaredField("server_version");
f.setAccessible(true);
f.set(chSftp, 2);
chSftp.setFilenameEncoding("gbk");

Vector<LsEntry> ls = chSftp.ls(path);

LsEntry是他的内部类.

---工作中记录.

猜你喜欢

转载自blog.csdn.net/Brico_CSDN/article/details/82466347
今日推荐