FTP上传中文设置

2023-05-16

package com.wq.test;
import java.io.File;    
import java.io.FileInputStream;    


import org.apache.commons.net.ftp.FTPClient;    
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPReply;  


public class upftp {


  
    private  FTPClient ftp;      
    /**  
     *   
     * @param path 上传到ftp服务器哪个路径下     
     * @param addr 地址  
     * @param port 端口号  
     * @param username 用户名  
     * @param password 密码  
     * @return  
     * @throws Exception  
     */    
    private  boolean connect(String path,String addr,int port,String username,String password) throws Exception {      
        boolean result = false;      
        ftp = new FTPClient();      
        int reply;      
        ftp.connect(addr,port);      
        ftp.login(username,password);      
        ftp.setFileType(FTPClient.BINARY_FILE_TYPE);      
        reply = ftp.getReplyCode();      
        if (!FTPReply.isPositiveCompletion(reply)) {      
            ftp.disconnect();      
            return result;      
        }      
        ftp.changeWorkingDirectory(path);      
        result = true;      
        return result;      
    }      
    /**  
     *   
     * @param file 上传的文件或文件夹  
     * @throws Exception  
     */    
    private void upload(File file) throws Exception{      
        if(file.isDirectory()){           
            ftp.makeDirectory(file.getName());                
            ftp.changeWorkingDirectory(file.getName()); 
            String[] files = file.list();             
            for (int i = 0; i < files.length; i++) {      
                File file1 = new File(file.getPath()+"\\"+files[i] );      
                if(file1.isDirectory()){
                    upload(file1);      
                    ftp.changeToParentDirectory();      
                }else{                    
                    File file2 = new File(file.getPath()+"\\"+files[i]);
                    System.out.println(files[i]);
                    System.out.println(file2.getName());
                    FileInputStream input = new FileInputStream(file2);
                    String name;
                    name=new String(file2.getName().getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
                    ftp.storeFile(name, input);      
                    input.close();                            
                }                 
            }      
        }else{      
            File file2 = new File(file.getPath());      
            FileInputStream input = new FileInputStream(file2);      
            ftp.storeFile(file2.getName(), input);      
            input.close();        
        }      
    }      
   public static void main(String[] args) throws Exception{    
  upftp t = new upftp();   
  System.out.println(1111111);
  String name="公司文档/献血服务发展部/WeChat/Realse/V2.1.0.0";
  name=new String(name.getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
  System.out.println(name);
      t.connect(name, "172.0.0.34", 21, "yourname", "passwd");    
      File file = new File(args[0]);    
      t.upload(file);    
   }    


}




关键代码解析

上传文件部分

String name;
name=new String(file2.getName().getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。
ftp.storeFile(name, input);

将所有文件转码


上传路径部分

String name="公司文档//Realse/V2.1.0.0";
name=new String(name.getBytes("GBK"),"iso-8859-1");// 转换后的目录名或文件名。

将所有路径转码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FTP上传中文设置 的相关文章

  • 如何使用 FTP 获取基于模式匹配的文件列表?

    我需要从 FTP 服务器获取文件列表 FTP 服务器有超过 10 000 个文件 我只需要以以下开头的文件ABC 相当于 10 个文件 但每 10 分钟就会添加新文件 所以我只需要获取以ABC过去 10 分钟内创建的 我该如何实现这一目标
  • PHP ftp_put 返回“无法建立数据连接:连接被拒绝”

    我有一台通过 PHP 运行一些 FTP 的 PC 我知道它在 1 2 个月前还可以工作 但现在我返回它 发现该 PC 不再工作了 我知道我一直在使用电脑 但我想不出可能会发生什么变化 PHP 抛出错误消息读取 无法建立数据连接 连接被拒绝
  • Ftp 仅在 .NET 4.0 中抛出 WebException

    我有以下 C 代码 当针对 NET Framework 3 5 或 2 0 编译时 它运行得很好 我没有针对 3 0 进行测试 但它很可能也能工作 问题是 当针对 NET Framework 4 0 构建时它会失败 FtpWebReques
  • 紧凑框架 - OpenNetCf.Net FTP 示例?

    我正在尝试让 OpenNetCF Net FTP 组件与我的 PDA 应用程序一起工作 除了连接到服务器之外 我正在努力让它做更多的事情 并且想知道是否有人知道我可以用来学习如何使用它的任何示例代码 我需要能够下载和上传文件 以及确定我想要
  • 如何使用GVIM编辑远程文件?

    我在 Ubuntu 9 10 上使用 GVIM 我正在寻找正确的方法来配置 GVIM 以便能够通过 ftp 等方式编辑远程文件 HTML PHP CSS 当我使用 e scp username remotehost path to file
  • Wordpress 插件安装 - 无法连接到 FTP 服务器 - 最安全的解决方案?

    我成功使用 Wordpress 设置了 VPS LEMP 堆栈 当我尝试从 WP 后端安装插件时 系统会提示以下消息 To perform the requested action WordPress needs to access you
  • 检查 FTP 服务器上的可用空间

    我正在运行一个构建脚本 其中三个可执行文件 每个 100mb 被上传到 FTP 服务器 由于 FTP 服务器空间问题 第一次上传可能会失败 因此我们的构建过程会失败 这意味着我必须从服务器释放一些空间并再次运行构建脚本 这是浪费时间 我想在
  • php ftp 建立多个目录

    这是我的 PHP 代码 它实际上工作得很好 newftpdir parent date Ymd YYYYMMDD newftpdir child ext folder username newftpdir newftpdir parent
  • 使用curl上传本地目录中的所有文件

    我想上传一个目录中的所有文件 并且我知道如何使用curl上传一个文件 如下所示 curl T local xxx suffix u xxx psw ftp 192 168 1 158 public demon test xxx suffix
  • 如何使用 C# 从 FTP 服务器获取一系列文件

    我陷入了这样一个境地 我将通配符参数与 FtpWebRequest 对象一起使用 很糟糕 FtpWebRequest reqFTP FtpWebRequest FtpWebRequest Create new Uri ftp ftpServ
  • 使用.net 2.0 连接到 FTP 服务器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望连接到现有的 FTP 服务器 上传文件 等待服务器生成报告 然后将该报告下载回 VB NET 2
  • 从 C# 中的服务器下载后,Zip 文件被损坏

    request MakeConnection uri WebRequestMethods Ftp DownloadFile username password response FtpWebResponse request GetRespo
  • FTP 二进制 x ASCII 自动选择

    我编写了一个 FTP 插件 使用 python 的 ftplib 我想知道确定给定文件是否应该使用二进制或 ASCII 传输方法的最佳方法是什么 换句话说 自动 传输模式 当我收到有关双线的问题报告时 我开始研究这个问题 并且谷歌搜索发现二
  • Twisted、FTP 和“流式传输”大文件

    我正在尝试实现最能描述为 HTTP API 的 FTP 接口 的内容 本质上 有一个现有的 REST API 可用于管理站点的用户文件 并且我正在构建一个中介服务器 将该 API 重新公开为 FTP 服务器 因此 您可以使用 Filezil
  • FTPWebRequest .NET 3.5 与 4

    我有一个应用程序可以与 IBM 大型机建立 FTP 连接 并且一切都工作正常 然后 我针对 NET 4 重新编译 主机不再接受该文件 并给出一条错误消息 指出该文件不存在 或者我没有该文件的权限 这是我用来发送文件的 Ftp FtpWebR
  • C# 单文件FTP下载

    我试图在 C 控制台应用程序中使用 FTP 下载文件 但即使我知道路径是正确的 我总是收到错误消息 550 file not found 有什么方法可以返回当前路径 一旦连接到服务器 lade datei von FTP server st
  • 使用 Python 了解何时已从 FTP 源完全接收文件

    我正在使用 Python 开发一个执行以下操作的应用程序 监视特定目录并监视文件 转移到它 文件完成传输后 运行一些 文件上的外部程序 我开发这个应用程序的主要问题是知道文件何时完成传输 据我所知 该文件将通过 SFTP 传输到特定目录 P
  • 无法使用 PHP ftp_connect() 连接 FTP 服务器

    我试图使用 PHP 的 ftp connect 函数连接 ftp 服务器 如下所示 但它返回这个错误 警告 ftp connect function ftp connect php network getaddresses getaddri
  • 如何在 PowerShell 中比较本地文件与 FTP 服务器上的文件的年龄并下载远程复制是否较新

    我正在编写一个 PowerShell 脚本 以帮助我为工作设置新电脑 希望这不仅仅是我一个人会使用 所以我正在尝试考虑所有事情 我在 FTP 服务器上保存了离线安装程序 java flash reader 等 如果本地副本尚未保存在创建的
  • PHP + FTP删除文件夹中的文件

    我刚刚编写了一个 PHP 脚本 它应该连接到 FTP 并删除特殊文件夹中的所有文件 它看起来像这样 但我不知道需要什么命令来删除文件夹日志中的所有文件 任何想法

随机推荐

  • 一次由于设置错误,导致无法进入gnome的解决。

    我的系统是lenny 今天 xff0c 在 系统 gt 首选项 gt 音效 中修改了一处设置 xff0c 导致当前账号不能进入gnome 设置的图片如下 xff1a 我选中了 允许软件混音 和 播放系统声音 这两项 xff0c 结果当时系统
  • 分享一下工作以来我看过计算机书籍

    由于自工作依赖一直专注于linux 下的c c 43 43 编程工作 xff0c 所以 xff0c 我的书籍也大的都是这方 这边书尽管很经典 xff0c 但是我的能力实在有限 xff0c 只把数据结构的那点看了一下 xff0c 其他的 看的
  • strlen三种不同的写法

    strlen用来表示字符串的长度 区别于用关键字sizeof 计算字节大小 strlen有三种写法 1 采用常规的count计数法 int my strlen const char str char p 61 char str int co
  • 面试常见链表题总结(如果失眠了就拿出来看看)

    无头单链表 现场手撕代码 43 分析 xff0c 供自己闲时手机复习使用 xff01 删除链表中等于给定值 val 的所有节点 反转一个单链表 给定一个带有头结点 head 的非空单链表 xff0c 返回链表的中间结点 如果有两个中间结点
  • 数据库完美总结(三)

    索引 xff1a 数据库索引 xff0c 是数据库管理系统中一个排序的数据结构 xff0c 它可以对数据库表中一列或多列的值进行排序 xff0c 以协助更加快速的访问数据库表中特定的数据 通俗的说 xff0c 我们可以把数据库索引比做是一本
  • 电商项目数据库

    共8张表 xff0c 放到一个DB文件夹下 1 系统架构 采用当前最流行的ssm xff08 springmvc 43 spring 43 mybatis xff09 框架开发 xff0c 系统后台使用jsp作为视图层 商城系统使用free
  • jar包和war包区别以及怎么部署

    什么是war和jar xff1f war包 是做好一个web应用后 xff0c 通常是网站 xff0c 打成包部署到容器中 jar包 xff1a 通常是开发时要引用通用类 xff0c 打成包便于存放管理 怎么打包 xff1f IDEA上面菜
  • cookie和session

    由于http是无状态的 xff0c 也就是不能做到会话保持 xff0c 那么就需要引入cookie和session来做会话保持 xff0c 存储用户信息 cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段 IE浏览器把
  • Sprinig Boot + Redis 如何实现接口幂等性

    幂等性 通俗的说就是一个接口 多次发起同一个请求 必须保证操作只能执行一次 可能出现的问题 xff1a 订单接口 不能多次创建订单 支付接口 重复支付同一笔订单只能扣一次钱 回调接口 可能会多次回调 必须处理重复回调 普通表单提交接口 因为
  • 线程池面试

    一 线程池是什么 线程池 xff08 Thread Pool xff09 构造参数有8个 xff0c 但是最核心的是3个 xff1a corePoolSize核心数 maximumPoolSize最大线程数 xff0c workQueue任
  • Raft的PreVote实现机制

    Raft的PreVote实现机制 1 背景 在Basic Raft算法中 xff0c 当一个Follower与其他节点网络隔离 xff0c 如下图所示 xff1a Follower 2在electionTimeout没收到心跳之后 会发起选
  • C、Java、Python到底优劣在哪里?

    C C是大部分转行编程或者是入门学习人员最开始接触的语言 xff0c 虽说C语言在内存管理上存在严重的缺陷 xff0c 尤其是 0 的设计被很多人吐槽是最大的败笔 xff0c 但是毫无疑问 xff0c 对那些要求最高的效率 xff0c 良好
  • LWIP 单网口多IP地址

    空间 ethernet input struct pbuf p struct netif netif 此函数有两个参数 xff0c p指向接收到的网络数据 xff0c netif则是指示哪个网络接口收到的数 据 xff0c 但是在LWIP内
  • C/C++优秀书籍清单

    转载自 xff1a https www cnblogs com kimiway p 3225767 html 书籍是码农进步的阶梯 读好书 好读书 干一行爱一行 除了工作还有生活 在陪伴家人同时 也不忘提高自己 为更好的生活努力 1 C程序
  • 一完整的HTTP事务是怎样的过程

    原文地址 xff1a http www cnblogs com renfanzi p 5838446 html 阅读目录 一次完整的HTTP事务是怎样一个过程 xff1f 一 域名解析 二 发起TCP的三次请求 TCP 为什么需要3次握手
  • Centos8中安装jdk1.8

    CentOS8 中原有安装OpenJDK1 8 属于JRE版本 xff0c 当前在编译打包Maven工程时报错 xff0c 查看错误原因 xff0c JAVA环境不满足导致编译失败 卸载系统自带OpenJDK xff0c 重新安装 卸载Op
  • 问vimscript转lua原因

    开始 xff1a 原以为是脚本语言翻译过去 xff0c 就是换lua了 xff0c 结果是错误的 问题 xff1a 转换的意义是什么 答案 xff1a 所有插件全部换lua写的提升性能 xff0c 部分插件使用原有的 官方资源 xff1a
  • iphone摄像头代替matebook 14D

    第一步下载软件 第二步 手机与电脑 连接同一个wifi 第三步 查看iphoneip 电脑软件录入ip
  • android安全框架工具drozer使用指南

    不贴图 xff0c 太麻烦 一 Drozer 工作环境搭建 下载drozer installer 2 3 4 zip 2 xff0c 解压缩 3 xff0c winddows上安装setup exe 手机安全agent apk 4 手机打开
  • FTP上传中文设置

    package com wq test import java io File import java io FileInputStream import org apache commons net ftp FTPClient impor