Java从FTP网盘读取文件
这短时间不是很忙了,总结一下自己在开发的道路中遇到的坎坎坷坷,说多了都是泪啊!!!!
是FTP,看代码吧!!!
所依赖的pom文件:<dependency><groupId>org.samba.jcifs</groupId><artifactId>jcifs</artifactId><version>1.3.3</version>
</dependency>
package com.hsx.demo.utils;import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream;
import lombok.extern.slf4j.Slf4j;import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.UnknownHostException;/*** @author queen* @Date: 2019/7/29 15:29*/
@Slf4j
public class SubFileUtil {private String url = "";private SmbFile smbFile = null;private SmbFileOutputStream smbOut = null;private static SubFileUtil smb = null; //共享文件协议public static synchronized SubFileUtil getInstance(String url) {if (smb == null) {return new SubFileUtil(url);}return smb;}/*** @param url 服务器路径*/private SubFileUtil(String url) {this.url = url;this.init();}public void init() {try {log.info("开始连接...url:" + this.url);smbFile = new SmbFile(this.url);smbFile.connect();log.info("连接成功...url:" + this.url);} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}/*** 上传文件到服务器*/public int uploadFile(File file) {int flag = -1;BufferedInputStream bf = null;try {smbOut = new SmbFileOutputStream(this.url + "/" + file.getName(), false);bf = new BufferedInputStream(new FileInputStream(file));byte[] bt = new byte[8192];int n = bf.read(bt);while (n != -1) {this.smbOut.write(bt, 0, n);this.smbOut.flush();n = bf.read(bt);}flag = 0;log.info("文件传输结束...");} catch (SmbException e) {e.printStackTrace();} catch (MalformedURLException e) {e.printStackTrace();} catch (UnknownHostException e) {e.printStackTrace();log.info("找不到主机...url:" + this.url);} catch (IOException e) {e.printStackTrace();} finally {try {if (null != this.smbOut)this.smbOut.close();if (null != bf)bf.close();} catch (Exception e2) {e2.printStackTrace();}}return flag;}public static void main(String[] args) {//服務器地址 格式為 smb://电脑用户名:电脑密码@电脑IP地址/IP共享的文件夹String remoteUrl = "smb://Administrator:970711@192.168.214.42/gongxiang/";String localFile = "C:/Users/Administrator/Desktop/123.txt"; //本地要上传的文件File file = new File(localFile);SubFileUtil smb = SubFileUtil.getInstance(remoteUrl);smb.uploadFile(file);// 上传文件}
}
Java从FTP网盘读取文件相关推荐
- java 版百度网盘功能
java 版百度网盘功能,目前已经实现: 1:百度网盘登录 2:列出百度网盘文件 3: 切换目录 4: 多线程下载文件 速度有待优化.思路已经成型. 源码地址:https://gitee.com ...
- 记录一次实现网盘间文件同步工具
目录 工具实现过程记录 背景和目的 基础设计 网盘SDK基础工具 文件模型和网盘模型 配置文件和账号模型 任务模型 初步工作 找到指定目录和读取目录下的文件 如何对比 多任务的调度 改进和细化 多线程 ...
- java在FTP服务器创建文件夹,java在ftp服务器上创建文件夹
java在ftp服务器上创建文件夹 内容精选 换一换 启动目的端时失败,错误码:SMS.3103,提示迁移失败原因"对目的服务器重新建立引导失败".启动目的端后,系统会重新安装目的 ...
- python实现百度网盘创建文件夹与转存
最近学习尝试了一些爬虫的皮毛.前几天又通过jsonup将某个网站的会员视频的百度网盘链接与提取码爬入了数据库中.但是由于视频内容还是比较多的(大概2300个),一个一个地转存入度盘中太过繁琐. 同时不 ...
- Java百度网盘创建链接,java获取百度网盘真实下载链接的方法
本文实例讲述了java获取百度网盘真实下载链接的方法.分享给大家供大家参考.具体如下: 目前还存在一个问题,同一ip在获取3次以后会出现验证码,会获取失败,感兴趣的朋友对此可以加以完善. 返回的Lis ...
- 成功解决百度网盘下载文件时遇到 下载总进度一直处于99.9%,显示一直下载不下来的问题
成功解决百度网盘下载文件时遇到 下载总进度一直处于99.9%,显示一直下载不下来的问题 目录 解决问题 解决思路 解决方法 解决问题 百度网盘下载文件时遇到 下载总进度一直处于99.9%,显示一直下载 ...
- ESP8266(ESP模块)Arduino开发环境快速搭建方法--含网盘离线文件
目录 1. ESP8266简介 1.1 乐鑫ESP8266 1.2 安信可ESP模组 2. ESP8266开发 3. 开发环境搭建 4. 网盘文件离线安装 1. ESP8266简介 1.1 乐鑫ESP ...
- 手把手教你轻松下载百度网盘超大文件
前言 玩过百度网盘的都应该清楚它的强大,小编就是靠着百度网盘那强大的功能以及变态的存储空间才获得许多具有纪念价值的东西,比如某些Hacker资料,你懂的. 但是小编一直以来都有一个心结未解开,那就是为 ...
- 一键导出百度网盘群文件
你有没有遇到过朋友给你分享资源的场景,一般人都有过,绝大部分场景下,我们直接转存就好了,但是也有少数情况下我们发现处于诸多限制,比如自己网盘容量太低或者是别人分享的内容太多,导致我们没有办法一次保存下 ...
最新文章
- linux里运行windows,在Linux上运行Windows应用程序
- 利用st_geometry进行图形叠加分析--结合mybatis
- 射频宽带低噪放大器测试
- IOS 后台挂起程序 当程序到后台后,继续完成Long Running Task 任务
- 微信怎么开免流量服务器,微信如何省流量?关掉这几个功能 省一大半流量
- 随想录(编译器是怎么工作的)
- 转一篇关于IIS用户权限的帖子
- 如何在 macOS 中锁定文件和文件夹?
- ubuntu 下解压带密码的rar压缩包
- oracle dba 培训教程 第14章 管理权限
- 乾颐堂安德HCIE面试真题系列19(戚ZJ)
- Fluent 操作入门实例-从建模到计算结果可视化
- 亿发软件:中大型仓库进出货管理系统解决方案,定制软件让仓储作业高效便捷
- Win10下取消U盘/移动硬盘“写保护”的方法
- Excel图表导出为图片,最终转为eps矢量图
- PhpStorm2019 代码自动换行
- JavaWeb以Maven整合Mybatis报错java.lang.NoClassDefFoundError(Web项目未能完全加载Maven下的依赖)
- [概念]PMP,项目管理
- Android应用程序资源管理器(Asset Manager)的创建过程分析
- mysql onlibe all_MySQL Online DDL学习笔记
热门文章
- [ZJOI2005]午餐
- gitlab+jenkins=自动化构建
- Firefox扩展批量安装脚本
- sql分割函数|在网上找的看着挺好,谁的忘了
- AndroidStudio_安卓原生开发_自定义ToastUtils---Android原生开发工作笔记135
- AndroidStudio安卓原生开发_android按钮防止短时间内连续点击_在android_java中都能使用---Android原生开发工作笔记131
- C++_类和对象_对象特性_This指针的用途_用来解决名称冲突_*this实现链式编程---C++语言工作笔记049
- JAVA线程池_并发队列工作笔记0002---认识线程池_在线程池中使用队列
- oracle数据库笔记---oracleweb视图使用流程,及plsql安装
- 两篇transfomer 论文解读