解析ftp上word文档的文字并输入
页面上有一段说明是ftp上指定路径下word文档的全部内容
try {
//word文档在ftp上路径
String road = "/" + oaDirectory;
Session session = null;
Channel channel = null;
JSch jsch = new JSch();
//采用指定的端口连接服务器
session = jsch.getSession(sftpUser, sftpHost, sftpPort);
//如果服务器连接不上,则抛出异常
if (session == null) {
throw new Exception("session is null");
}
//设置登陆主机的密码
session.setPassword(sftpPassword);//设置密码
//设置第一次登陆的时候提示,可选值:(ask | yes | no)
session.setConfig("StrictHostKeyChecking", "no");
//设置登陆超时时间
session.connect(30000);
try {
//创建sftp通信通道
channel = (Channel) session.openChannel("sftp");
channel.connect(1000);
ChannelSftp sftp = (ChannelSftp) channel;
//进入服务器指定的文件夹
sftp.cd(road);
//以下代码实现从本地上传一个文件到服务器,如果要实现下载,对换以下流就可以了
//xxx.getName()--文档name
InputStream input = sftp.get(xxx.getName());
OPCPackage opcPackage = OPCPackage.open(input);
POIXMLTextExtractor poixmlTextExtractor = new XWPFWordExtractor(opcPackage);
String buff = poixmlTextExtractor.getText();
log.info("文字说明:{}", buff);
System.out.println(buff);
input.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
session.disconnect();
channel.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}