java获取远程服务器目录,在远程服务器创建三级目录
java获取远程服务器目录,在远程服务器创建三级目录
1、添加依赖
<dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.49</version>
</dependency>
<dependency><groupId>com.trilead</groupId><artifactId>trilead-ssh2</artifactId><version>1.0.0-build222</version>
</dependency>
2、获取远程服务器目录代码
/*** 判断远程服务器路径是否是目录* @param client* @param path* @return*/private static boolean isDirectory(SFTPv3Client client, String path) {try {SFTPv3FileAttributes attributes = client.stat(path);return attributes.isDirectory();} catch(IOException e) {System.out.println("获取文件属性异常"+ e);}return false;}/*** 获取conn* @param ip* @param port* @param user* @param pwd* @return*/private static Connection getConn(String ip, int port, String user, String pwd) {Connection conn = new Connection(ip, port);if(conn.isAuthenticationComplete()) {return conn;}try {conn.connect();boolean isAuthenticated = conn.authenticateWithPassword(user, pwd);if(!isAuthenticated) {throw new Exception("authentication failed!");}return conn;} catch (Exception e) {e.printStackTrace();}return null;}/*** 获取SFTPv3Client* @param conn* @return* @throws IOException*/public static SFTPv3Client getClient(Connection conn) throws IOException {SFTPv3Client client = new SFTPv3Client(conn);return client;}
3、创建三级目录代码
//主方法public static void main(String[] args) {String path="/data/video/rt/down1/load/";mkdir(path,"192.168.15.166",22,"username","123456");}/*** 创建远程服务器文件夹主方法(本方法只支持三级及以下目录创建,三级以上需修改代码)* @param path 远程服务器目录相对路径(例如:/data/video/rt/down1/load/)* @param ip 远程服务器ip(例如:192.168.14.155)* @param port 远程服务器端口(例如:22)* @param username 远程服务器用户名(例如:root)* @param password 远程服务器密码(例如:123456)*/public static void mkdir(String path,String ip,int port,String username,String password) {//写入路径//三级路径String path1=path.substring(0,path.lastIndexOf("/"));//二级路径String path2=path1.substring(0,path1.lastIndexOf("/"));//一级路径String path3=path2.substring(0,path2.lastIndexOf("/"));System.out.println("path1="+path1);System.out.println("path2="+path2);System.out.println("path3="+path3);try {//判断文件夹是否存在Connection conn=getConn(ip,port,username,password);SFTPv3Client client=getClient(conn);boolean isExist1 = isDirectory(client, path3);boolean isExist2 = isDirectory(client, path2);boolean isExist3 = isDirectory(client, path1);JSch jsch = new JSch();com.jcraft.jsch.Session session = jsch.getSession(username, ip, port);if (password != null) {session.setPassword(password);}Properties config = new Properties();config.put("StrictHostKeyChecking", "no");session.setConfig(config);session.connect();Channel channel = session.openChannel("sftp");channel.connect();ChannelSftp sftp = (ChannelSftp) channel;if(!isExist3){if(!isExist2){if(!isExist1){sftp.mkdir(path3);sftp.mkdir(path2);sftp.mkdir(path1);System.out.println("全部新建存入视频");}else {sftp.mkdir(path2);sftp.mkdir(path1);System.out.println("新建到二级目录存入");}}else {// file3.mkdir();sftp.mkdir(path1);System.out.println("新建三级目录存入");}}else {System.out.println("直接存入");}//关闭所有连接sftp.disconnect();session.disconnect();channel.disconnect();conn.close();client.close();} catch (Exception e) {e.printStackTrace();}}
java获取远程服务器目录,在远程服务器创建三级目录相关推荐
- IDEA创建三级目录的maven项目 图文详细
1.三级目录结构图 以下是自己创建的例子: 2.创建一级项目 Project 项目名称:dhcc-shop-parent(网上例子) 注意:需要将Type改成Maven POM 3.创建二级目录 mo ...
- xp创建虚拟服务器,Xp系统怎么创建虚拟目录?Xp系统创建虚拟目录的方法
Xp系统怎么创建虚拟目录?xp系统是一款非常经典的windows系统,其一直深受着广大用户们的喜爱.虽然目前微软不在支持xp系统了但是使用还是有部分用户选择使用xp系统.下面小编就给大家带来Xp系统创 ...
- java写文件 自动创建目录吗_Java 自动创建日志目录及文件
自己写一个批处理文件,并定时执行批处理文件 需求:每一天定时生成日志文件目录及文件 1.准备 在 E:\code 目录下有一个自己写的根据系统时间作为参数的一部分创建需求目录和文件的 Java 文件 ...
- 2021最新 阿里云服务器搭建Minecraft原版服务器最全教程(可选:配置mod)
前言: 疫情期间在家无聊想和好友一起在MC上联机怎么办?本文会一步步教你如何自己动手搭建一个MC服务器.本文需要读者有一定的动手能力,知道一些计算机名词,比如操作系统,ip,端口等. 购买服务器: 首 ...
- java 获取当前第几周_java获取第几周
java获取第几周 1.首先创建一个getWeek函数,接收一个Date类型的参数: 2.然后在函数内创建一个GregorianCalendar实例: 3.之后设置GregorianCalendar实 ...
- linux中显示没有那个目录,linux没有那个文件或目录
linux下创建文件与目录时默认被赋予了什么样的权限? 当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288 ...
- Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)
Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩) ...
- 【错误记录】Android 分区存储下的 SD 卡应用专属外部存储空间目录访问 ( 需手动创建应用专属外部存储空间目录 )
文章目录 一.报错信息 二.解决方案 一.报错信息 开发时 , 需要向外置 SD 卡中拷贝一些文件 , 应用读取这些文件 , 进行相关配置 ; 但是 Android 系统 , 并不会主动为应用创建文件 ...
- IDEA 中创建多级目录
IDEA 中创建多级目录 1.问题描述 之前跟着网上的教程搭建 Mybatis 快速入门的小 Demo,进行单元测试时居然抛异常了:Cause: java.io.IOException: Could ...
最新文章
- 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)一阶保持(FOH)内插
- 比起睡觉,我更喜欢刷巨详细的Java枚举类,这是来自猿人的自觉呀
- RabbitMQ通配符模式以及与Routing模式的区别
- Android项目笔记【项目管理统计图app】:使用github上的cardslib开源项目实现CardView(1)...
- vsftp+tftp+dhcp+pxe+kickstart自动化安装操作系统
- 在Window上安装Mysql
- 圆点横线圆点 html,目录的点怎么打(目录中小圆点横线上的点要一个个打上去?)...
- java fx scen,java基础:10.2 Java FX之显示图片
- 【博客431】接入层 汇聚层 核心层
- VMware安装及配置静态Ip、域名、免密(centos7)
- iOS-记一些官网地址
- 词袋模型BoW和词集模型SoW比较
- verilog学习笔记- 14)静态数码管显示实验
- 局域网搭建共享mysql_局域网共享设置mysql安装教程.doc
- jsonEditor API介绍 JSON编辑器
- matlab slep,SLEP-sparse-learing-toolbox 稀疏学习算法工具,对图像进行降噪处理,有明显效果 matlab 263万源代码下载- www.pudn.com...
- M001: MongoDB Basics chapter 2 The MongoDB Query Language + Atlas学习记录
- MySQL日常维护工具-备份
- window7 Aero特效异常解决
- p,v操作例题解析--读者-写者问题--誊抄问题——睡眠理发师问题