java操作服务器文件(把解析过的文件迁移到历史文件夹地下)

发布于:2025-05-29 ⋅ 阅读:(21) ⋅ 点赞:(0)

第一步导出依赖

        <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是解析过的文件名称


网站公告

今日签到

点亮在社区的每一天
去签到