Java FTPClient makeDirectory无法创建多级目录

Java入门第134课——创建一个多级目录 首先,使用File类构建表示当前工程下的多级目录a,b,c;运行testMkDirs方法,会发现工程下多了一个a文件夹,并且a文件夹下b文件夹,b文件夹下有c文件夹。在当前工程下,创建a目录,然后在a目录下创建b目录,最后在b目录下创建c目录。实现此案例需要按照如下步骤进行。 阅读详情
就当天,我又碰到了个问题,就是Ftp上传文件只能在根目录(设置好的路径比如/test),后面经过翻阅博客,发现是因为ftp不能创建多级目录,经过一翻查找和修改,有了个能用的方法
    /**
     * 创建多级目录
     * @param ftp 一个连接有效的ftp连接
     * @param path 可能需要创建的多级目录路径,/分隔
     */
    public static void createDirs(FTPClient ftp , String path){
        /*该部分为逐级创建*/
        String[] split = path.split("/");

       try {
           for (String str : split) {
               if(StringUtils.isBlank(str)) {
                   continue;
               }
               if (!ftp.changeWorkingDirectory(str)) {
                   log.warn("FTP: 目录不存在");
                   boolean makeDirectory = ftp.makeDirectory(str);
                   boolean changeWorkingDirectory = ftp.changeWorkingDirectory(str);
                   log.warn(str + "FTP: 创建结果:" + makeDirectory + ";切换工作目录结果:" + changeWorkingDirectory);
               } else {
                   log.warn("目录已存在");
               }
           }
       }catch (Exception e){
           e.printStackTrace();
           log.warn(e.getMessage());
       }
    }

如果还碰到其他ftp连接上了无法获取文件,或者下载文件的问题,可以看看

  1. Apache ftpClient retrieveFile下载文件很慢的问题

  2. Java FTP连接,中文乱码问题

java FTP服务器文件上传下载,创建多级文件夹.zip java FTP服务器文件上传下载,查找文件目录,不存在则添加,创建多级文件夹,java ,demo 直接使用,内有jar包 立即下载

相关推荐

java创建多级目录文件的实例讲解

下面小编就为大家分享一篇java创建多级目录文件的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

FTPClient创建目录失败(makeDirectory)

在使用FTPClient创建目录失败: // path="archive\File\upload\2020\06\22" isMakeSucess = ftp.makeDirectory(path); 经过查阅资料发现,创建目录方法makeDirectory()不支持创建多级目录,所以需要一级一级地创建目录: /** * ftp创建目录——ftpClient只支持一级一级创建 * @param ftp * @param path * @return .

三分恶的博客 8313

卫星通信链路预算实战:从EIRP到Eb/N0的完整计算指南(含Excel模板)

本文提供了一份卫星通信链路预算的实战指南,详细解析了从EIRP到Eb/N0的完整计算流程。文章重点对比了C波段与Ku波段在应对降雨衰减等动态因素时的不同策略,并分享了包含核心公式的Excel模板,帮助工程师将理论转化为可执行的系统设计依据。

weixin_29230773的博客 533

ftpClient.makeDirectory无法创建目录

ftpClient.makeDirectory无法创建目录? 原因一: chroot_local_user=YES,将用户禁锢在了宿主目录,导致始终无法创建目录 解决的办法: 将vsftpd.conf文件中的chroot_local_user=NO,并重启 service vsftpd restart   原因二: makeDirectory(path)中path的上一级目录是否存在...

SHINE的博客 1万+

【LVGL】从HTML到LVGL:嵌入式UI的设计迁移与落地实践

嵌入式UI迁移实践:从HTML到LVGL 本文介绍了将HTML/CSS设计的UI原型迁移到嵌入式系统(LVGL)的完整流程,重点涉及"HTML→Figma→LVGL"的三步转换方法。具体内容包括: 设计迁移流程:通过Figma作为中间桥梁,将HTML原型转化为标准设计资产,再适配到LVGL库; 工具与参数准备:详细列出了设计迁移所需的工具链和需要提取的核心设计参数; Figma还原步骤:分组件讲解如何在Figma中1:1还原HTML设计,包括标题栏、压力显示区、图表区等核心组件; LVG

ymlmail的博客 1970

python等级考试——一级知识点汇总(不包含turtle画图)

本篇文章是针对中国电子学会青少年编程等级考试的,适合初学者以及青少年编程学习者

weixin_65350557的博客 9024

java创建ftp目录_java利用ftpClient来创建多层目录文件

//改变目录路径public boolean changeWorkingDirectory(String directory) {boolean flag = true;try {flag = ftpClient.changeWorkingDirectory(directory);if (flag) {logger.debug("进入文件夹" + directory + " 成功!");} els...

weixin_29353947的博客 1628

昇腾310B实战:FFmpeg硬件加速全流程解析与性能优化

本文详细解析了昇腾310B与FFmpeg硬件加速的全流程,包括环境配置、性能优化及常见问题排查。通过实战案例展示,昇腾310B在视频转码中性能提升可达6倍,同时降低功耗,特别适合多媒体处理和高性能计算场景。

m3n5b7v8c9x的博客 732

FtpClient.makeDirectory(s);方法返回false

Q:目录不存在,但是FtpClient.makeDirectory(s);方法返回false;FtpClient.changeWorkingDirectory(toFtpPath) 也返回false;   A:非正常关机导致 ServU 恢复默认设置,重新设置 ServU:域--用户--root--目录访问--(右侧)目录:创建打上勾 ...

beyondbn的专栏 2912

使用OpenTK展示3D点云图像(C#)

图中存在一个空的点,可通过阈值分割过滤掉,然后如何保证某个点必然存在后面两个和它构成三角形的点,用一个2x2的结构元腐蚀阈值分割出的区域,得到剩下所有的点必然每个点可以构成三角形,这种得到三角形的算法效率会非常高。然后还有光照,无光照和有光照效果差异很大,处理光照核心在于得到每个点的法向量,用上面的三角形的两条边构成的向量叉乘,及得到这个点的法向量,输入给着色器处理得到光照的渲染效果,如下面两张图对比。我们需要把点连成面,有很多算法可以实现,但我拿到的图为一张tif格式16位的深度图,如下图。

海盗Isaac 2283

【C语言】字符常量详解

字符常量是C语言中处理字符数据的重要工具。通过单引号括起一个字符,我们可以方便地使用字符常量进行字符判断、字符运算和字符串处理等操作。理解字符常量的表示方法、使用场景和ASCII码对应关系,对于编写高效的C语言程序至关重要。

LuckiBit 5017

java创建ftp服务器地址_如何使用 Java 在 FTP 服务器创建目录

本文演示了如何使用 Apache Commons Net 库在FTP服务器上建立目录。若要在 FTP 服务器上创建目录,需要使用 FTPClient 类的以下方法:boolean makeDirectory(String pathname)其中 pathname 是要创建的目录的路径。 路径可以是相对路径或绝对绝对。 例如,以下语句:makeDirectory(“upload”)将会相对于当前目录...

weixin_33623134的博客 601

基于物联网设计温室水培系统(NBIOT+华为云IOT)_338

本项目设计并实现了一套基于物联网的温室水培系统。系统以STM32F103RCT6单片机为核心控制器,结合SHT30温湿度传感器、SGP30二氧化碳传感器、BH1750光照传感器及液位检测传感器等硬件,实现对温室内环境参数的实时采集。系统支持自动和手动两种控制模式,能够根据传感器数据自动控制补光灯、通风风扇、遮光卷帘、降温水帘及营养液补充电机。通过NBIoT模块,系统可将采集的数据通过MQTT协议上传至华为云IOT平台,用户可通过Android手机APP或Windows上位机进行远程监控与控制。

411

java ftp makedirectory_Java FTPClient.removeDirectory方法代码示例

import org.apache.commons.net.ftp.FTPClient; //导入方法依赖的package包/类/*** Test of obscure path names in the FTP server** RFC959 states that paths are constructed thus...* ::= | * ::= * ::= any of the 1...

weixin_35725310的博客 393

基于单片机设计的智能消防排烟窗控制系统_422

随着城市化进程的不断加快,高层建筑、大型商业综合体以及地下空间的数量迅速增加,建筑内部结构日趋复杂,一旦发生火灾,烟雾和有毒气体往往比明火更具威胁性。大量研究表明,在火灾事故中,人员伤亡的主要原因并非直接烧伤,而是由于吸入烟雾及一氧化碳等有毒气体导致窒息。因此,如何在火灾初期快速排烟、降低有害气体浓度,并及时进行预警,成为现代消防系统设计中的关键问题。传统的消防排烟系统多依赖人工操作或简单的联动控制方式,存在响应滞后、自动化程度低、信息反馈不及时等问题。在实际应用中,当火灾发生时,如果不能第一时间开启排烟窗

366

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

java如何创建ftp文件夹权限设置_java实现ftp上传 如何创建文件夹

java如何实现ftp上传?如何创建文件夹?最佳答案:准备条件:java实现ftp上传用到了commons-net-3.3.jar包首先建立ftphost连接public boolean connect(String http://www.cppcns.compath, String addr, int port, String username, String password) {try {/...

weixin_29876591的博客 1292

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】

转: Java中FTPClient上传中文目录、中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录、上传中文文件名时,目录名及文件名中的中文显示为“??”。 原因: FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码。 解决方案: 1.将中文的目录...

weixin_30342827的博客 446

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ftp创建多级文件夹(可用)

package com.sinosoft.util;     import java.io.IOException; import java.io.UnsupportedEncodingException;   import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply...

chinaxiaofeng8的专栏 1万+

【Java】解决FTPClient上传中文目录出现中文名乱码问题

Java中FTPClient上传中文目录、中文文件名乱码问题解决方法 问题描述:   使用org.apache.commons.net.ftp.FTPClient创建中文目录、上传中文文件名时,目录名及文件名中的中文显示为“??”。 原因:   FTP协议里面,规定文件名编码为iso-8859-1,所以目录名或文件名需要转码。 解决方案: 1.将中文的目录或文件名转

程序猿开发日志【学习永无止境】 7401

java创建ftp目录_java实现ftp上传 如何创建文件夹

java如何实现ftp上传?如何创建文件夹?最佳答案:准备条件:java实现ftp上传用到了commons-net-3.3.jar包首先建立ftphost连接public boolean connect(String path, String addr, int port, String username, String password) {try {//FTPClient ftp = new ...

weixin_39622150的博客 262

java ftp切换目录_关于ftp上传changeWorkingDirectory()方法的路径切换问题

在上传时 FTPClient提供了upload方法,对于upload(file,path)的第二个参数path ,上传到哪里的这个路径,ftp是利用changeWorkingDirectory()方法来代替CMD中的命令cd 的,在对于上传的过程中,path可能不存在,那么就需要来判断是否存在,存在就不创建,不存在就创建,代码如下private staticFTPClientftp;ftp....

weixin_35683614的博客 2284

java web FTPClient 实现上传文件到指定服务器

FTPClient 实现上传文件到指定服务器 调用 FileInputStream in=new FileInputStream(new File(fileUrl)); moveFile("10.3.3.**", 21, "username", "password", path, filename, in);方法/** * Description: 向FTP服务器上传文

emily_www的博客 7904

java create folder_在Java中通过FTP创建文件夹层次结构

Java是否具有随时可用的功能,可以在远程FTP服务器上创建文件夹层次结构。 Apache Commons确实提供了FTP客户端,但是我找不到创建目录层次结构的方法。它确实允许创建单个目录(makeDirectory),但是似乎没有创建完整路径。我之所以想要这样做,是因为有时(现在)尚无法使用目录层次结构的一部分,在这种情况下,我想创建层次结构的缺失部分,然后更改为该新创建的目录。需要答案,因此我...

weixin_29012765的博客 569

FTPClient文件夹不存在时新建

// 文件夹不存在时新建 if (!fTPClient.changeWorkingDirectory(remotePath)) { fTPClient.makeDirectory(remotePath); fTPClient.changeWorkingDirectory(remotePath); }

soldier_csdn 1053

java 实现ftp上传如何创建文件夹

packagecom.sinosoft.util; importjava.io.IOException; importorg.apache.commons.net.ftp.FTPClient; importorg.apache.commons.net.ftp.FTPReply; publicclassTest{ FTPClientftp; publicbooleanconnect(Stringpath,Stringad...

zhaidada01的博客 1202

java ftp 建文件夹_java实现ftp上传 如何创建文件夹

java实现ftp上传 如何创建文件夹发布于 2020-8-4|复制链接摘记: java如何实现ftp上传?如何创建文件夹?最佳答案:准备条件:java实现ftp上传用到了commons-net-3.3.jar包首先建立ftphost连接```javapublic boolean connect(String path, String ..java如何实现ftp上传?如何创建文件夹?最佳答案:准...

weixin_34430580的博客 579
上一篇: 文件保存时报空指针 file.transferTo(targetFile);
下一篇: Redis相关知识点整理
Genmer
博客等级 码龄8年 659粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值