java操作服务器文件(把解析过的文件迁移到历史文件夹地下)
第一步导出依赖
<dependency><groupId>org.apache.sshd</groupId><artifactId>sshd-core</artifactId><version>2.13.0</version></dependency>
第二步写代码
public void moveFile( List<HmAnalysisFiles> hmAnalysisFilesList){String host = ip;String user = "用户名";String password = "密码";int port = 22;SshClient client = SshClient.setUpDefaultClient();client.start();try (ClientSession session = client.connect(user, host, port).verify().getSession()) {session.addPasswordIdentity(password);session.auth().verify();for (HmAnalysisFiles hmAnalysisFiles : hmAnalysisFilesList) {String fileName = hmAnalysisFiles.getFileName();String name = hmAnalysisFiles.getFileName().substring(0, 12);log.info("name______" + name);String command = "mv /data/vsftp/HM/"+name+"/"+fileName+" /data/vsftp/HMBF/"+name+"/";try {String stdout = session.executeRemoteCommand(command);log.info(stdout);} catch (IOException e) {e.printStackTrace();}System.out.println("文件已成功移动!");}} catch (IOException e) {e.printStackTrace();}client.stop();}
hmAnalysisFilesList是解析过的文件名称