我正在尝试将文件从Java应用程序传输到FTP服务器

该程序可以正常工作,文件已传输,但是当我在FTO文件夹中打开文件时,文件已损坏,我认为在文件传输过程中数据包丢失了。为什么?我该如何解决?

另一个问题,如果要停止文件上传,如何停止while?

谢谢大家!

我班上的代码:

FTPClient client = new FTPClient();

InputStream is = null;

//...

try{

client.connect(MY_FTP_URL);

client.login(USER, PASS);

InputStream is = new FileInputStream(file_path);

OutputStream os = client.storeFileStream(file_name);

byte[] buffer = new byte[1024];

int len;

//I use this way to check the transfer progress

while((len = is.read(buffer)) != -1){

os.write(buffer, 0, len);

os.flush();

}

os.close();

} catch (IOException e){

e.printStackTrace();

} finally{

try{

if(is != null){

is.close();

}

client.disconnect();

} catch(IOException e){

e.printStackTrace();

}

}

参考方案

查看FAQ:

问:为什么我的文件损坏了

转让?

答:最常见的原因是

当文件以ASCII格式传输时

但是文件的内容不是

ASCII,文件应为

转移为BINARY。 RFC 959说

默认传输模式应为

ASCII码。 FTPClient符合

标准。您必须明确呼叫

setFileType(FTP.BINARY_FILE_TYPE);至

之后请求二进制传输模式

登录FTP服务器。

致电setFileType(FTP.BINARY_FILE_TYPE);

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…Java:BigInteger,如何通过OutputStream编写它 - java

我想将BigInteger写入文件。做这个的最好方式是什么。当然,我想从输入流中读取(使用程序,而不是人工)。我必须使用ObjectOutputStream还是有更好的方法?目的是使用尽可能少的字节。谢谢马丁 参考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是将对象序列化为八位字节序列的一种通用方法。但…Java DefaultSslContextFactory密钥库动态更新 - java

我有一个使用org.restlet.engine.ssl.DefaultSslContextFactory的现有应用程序和一个在服务器启动时加载的密钥库文件。我有另一个应用程序,该应用程序创建必须添加的证书服务器运行时动态地更新到密钥库文件。为此,我在代码中创建了证书和私钥,然后将其写入到目录。该目录由bash脚本监视,该脚本检查是否有新文件,如果出现,它将…

java上传ftp数据丢失_Java:将文件上传到FTP问题(数据包丢失) - java相关推荐

  1. java实现上传功能吗_Java实现文件上传功能

    public void uploadFile(){ try{ //创建临时文件夹 initFolder(); }catch(Exception e) { e.printStackTrace(); ma ...

  2. java图片上传下载_java web 文件上传与下载

    组件工作流程:WEB服务器request ServletFil eupLoad DiskFileItem Factory代表普通字段的FileItem代表上传文件1FileItem代表上传文件2Fil ...

  3. java web 上传附件_JAVA WEB文件上传步骤

    JAVA WEB文件上传步骤如下: 实现 Web 开发中的文件上传功能,两个操作:在 Web 页面添加上传输入项,在 Servlet 中读取上传文件的数据并保存在本地硬盘中. 1.Web 端上传文件. ...

  4. java 大文件上传_JAVA大文件上传分片上传方法(附带demo)

    最近在做视频上传展示的相关业务!但是因为最开始使用的是单文件上传所以一旦遇到大文件上传的速度就非常慢!为此在网上一直找寻分片的方法!得到了思路! 直接讲一下我这边看了那么多文档加上自己理解写的demo ...

  5. 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录

    将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器 需要配置修改的点: 1. 服务器ip端口(服务器ip 端口22/21). 2. 服务器账号密码(服务器登录用户名密码). 3. 上 ...

  6. java web 上传图片漏洞_Web安全:文件上传漏洞

    原标题:Web安全:文件上传漏洞 一般将文件上传归类为直接文件上传与间接文件上传.直接文件上传就是服务器根本没有做任何安全过滤,导致攻击者可以直接上传小马文件及大马文件(如ASP.ASPX.PHP.J ...

  7. 基于Java实现企业微信群聊机器人-文件上传+消息推送(保证可用)

    基于Java实现企业微信群聊机器人-文件上传+消息推送 1.pom.xml(注意版本尽量保持一致) 2.文件工具类 3.企业微信请求类 4.企业微信响应类 5.发送方法 6.企业微信机器人创建和配置 ...

  8. java web 文件上传_Javaweb学习笔记10—文件上传与下载

    今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思 ...

  9. themyleaf 图片上传_javaEE --springboot #实现图片上传和回显 #单文件上传 #多文件上传 #ajax异步文件上传 (非常详细,从创建项目开始)...

    实现文件上传和回显 1.新建一个SpringBoot项目,选择 Spring Web 和 thymeleaf 依赖 .pow.xml文件下的依赖如下 2.根据下图,创建如下文件 3.直接上代码 配置文 ...

最新文章

  1. Spring Security可以做的十件事
  2. python中if for 作用域问题
  3. Android iw 使用方法
  4. keras实现Segnet、FCN、U-Net系列分割网络
  5. nodejs+socket.io用nginx反向代理提示400 Bad Request及ws://…无法连接的解决方法
  6. 单片机蜂鸣器编程音乐_工程师,还有6个引脚封装的单片机?涨知识了
  7. 港交所上新衍生工具:“界内证”——交易规则与投资价值全解析
  8. 数字图像处理实验一 直方图均衡化与直方图规定化
  9. Android 仿ios四级联动地址选择器
  10. 网桥(Bridge)作用详解
  11. epcs1s是epcs1系列的么_网络商城分销EPCS1SI8N【长期合作】
  12. 电子基础元器件——电阻器
  13. 制作AppStore预览:在 iPhone 上截屏或录制屏幕15秒以上的视频;iPhone日常使用技巧(一直弹出登录iCloud的解决方法、不自动弹出询问是否允许使用蜂窝数据的解决方法)
  14. Python的学习之旅第一站:基本语法
  15. MYSQL基础(sql语句)
  16. PromptBERT: Improving BERT Sentence Embeddings with Prompts
  17. COSAGPS进行GAMIT基线解算数据的平差
  18. CocosCreator之KUOKUO带你做音乐可视化
  19. GPS定位原理及应用简介
  20. Wiznote为知笔记私有部署(docker)删除多余用户账号.md

热门文章

  1. 容器与微服务从技术到艺术 你需要这场论坛
  2. php小程序地图处理,微信小程序 地图map详解及简单实例
  3. 从UV位置图获得3D人脸
  4. allow_unreachable flag
  5. update_by_query timeout
  6. 【CVPR Oral】TensorFlow实现StarGAN代码全部开源,1天训练完
  7. ffmpeg avstream::codec 被声明为已否决
  8. 【11】nvjdc不能用以后另一种jd ck获取办法
  9. DELL服务器有RAID,安装系统识别不到硬盘
  10. mysql四列数据表代码_MySQL数据库常用代码