java下载服务器资源
下载资源的步骤很简单就是:
1、连接服务器
2、转到服务器目录
3、下载服务器资源(当然不光是下载还可以实现上传、删除、查看等)
另:由于服务器的不同选用不同的实现代码(一般有ftpclient,httpclientdeng等)
其中在使用ftpclient是由于jdk1.7后其自带的ftpclient变化太大使用完全不一样不习惯的同志可以使用apache提供的客户端包使用
此处使用ftp服务的实例代码:
public class FtpUtil {private FTPClient ftp; public void connectServer(String server, int port, String user, String password, String path) throws SocketException, IOException { ftp = new FTPClient(); ftp.connect(server, port);System.out.println("Connected to " + server ); if(user==null || "".equals(user))user = "anonymous";//匿名用户ftp.login(user, password); if (path!=null&&path.length() != 0) { ftp.changeWorkingDirectory(path); } ftp.setBufferSize(1024);//设置上传缓存大小FTPClient.BINARY_FILE_TYPE//设置文件类型} public void closeServer() throws IOException { if (ftp!=null&&ftp.isConnected()) { ftp.logout();//退出FTP服务器 ftp.disconnect();//关闭FTP连接 } }public boolean changeDirectory(String path) throws IOException { return ftp.changeWorkingDirectory(path); } public boolean createDirectory(String pathName) throws IOException { return ftp.makeDirectory(pathName); } public boolean removeDirectory(String path) throws IOException { return ftp.removeDirectory(path); } public boolean removeDirectory(String path, boolean isAll) throws IOException { if (!isAll) { return removeDirectory(path); } FTPFile[] ftpFileArr = ftp.listFiles(path); if (ftpFileArr == null || ftpFileArr.length == 0) { return removeDirectory(path); } // for (FTPFile ftpFile : ftpFileArr) { String name = ftpFile.getName(); if (ftpFile.isDirectory()) { System.out.println("* [sD]Delete subPath ["+path + "/" + name+"]"); removeDirectory(path + "/" + name, true); } else if (ftpFile.isFile()) { System.out.println("* [sF]Delete file ["+path + "/" + name+"]"); deleteFile(path + "/" + name); } else if (ftpFile.isSymbolicLink()) { } else if (ftpFile.isUnknown()) { } } return ftp.removeDirectory(path); } public boolean existDirectory(String path) throws IOException { boolean flag = false; FTPFile[] ftpFileArr = ftp.listFiles(path); for (FTPFile ftpFile : ftpFileArr) { if (ftpFile.isDirectory() && ftpFile.getName().equalsIgnoreCase(path)) { flag = true; break; } } return flag; } public List<String> getFileList(String path) throws IOException { FTPFile[] ftpFiles= ftp.listFiles(path); List<String> retList = new ArrayList<String>(); if (ftpFiles == null || ftpFiles.length == 0) {System.out.println("没有文件");return retList;} for (FTPFile ftpFile : ftpFiles) { if (ftpFile.isFile()) { retList.add(ftpFile.getName()); } } return retList; } public boolean deleteFile(String pathName) throws IOException { return ftp.deleteFile(pathName); } public boolean uploadFile(String localFilePath, String remoteFileName) throws IOException { boolean flag = false; InputStream iStream = null; try { iStream = new FileInputStream(localFilePath); //我们可以使用BufferedInputStream进行封装//BufferedInputStream bis=new BufferedInputStream(iStream);//flag = ftp.storeFile(remoteFileName, bis); flag = ftp.storeFile(remoteFileName, iStream); } catch (IOException e) { flag = false; return flag; } finally { if (iStream != null) { iStream.close(); } } return flag; } public boolean uploadFile(String fileName) throws IOException { return uploadFile(fileName, fileName); } public boolean uploadFile(InputStream iStream, String newName) throws IOException { boolean flag = false; try { flag = ftp.storeFile(newName, iStream); } catch (IOException e) { flag = false; return flag; } finally { if (iStream != null) { iStream.close(); } } return flag; } public boolean download(String remoteFileName, String localFileName) throws IOException { boolean flag = false; File outfile = new File(localFileName); FileOutputStream oStream = null; try { oStream = new FileOutputStream(outfile); //我们可以使用BufferedOutputStream进行封装//BufferedOutputStream bos=new BufferedOutputStream(oStream);//flag = ftp.retrieveFile(remoteFileName, bos); flag = ftp.retrieveFile(remoteFileName, oStream); } catch (IOException e) { flag = false; return flag; } finally { oStream.close(); } return flag; } public InputStream downFile(String sourceFileName) throws IOException { return ftp.retrieveFileStream(sourceFileName); }
}
注意:ftp的机制的匿名用户的密码不管是什么,但还是有用户名的,就是用户="anonymous"
java下载服务器资源相关推荐
- IOS开发基础之使用AFNetworking框架下载服务器资源图片
IOS开发基础之使用AFNetworking框架下载服务器资源图片 info.plist加入这句 <key>NSAppTransportSecurity</key> <d ...
- 前台+后台 java下载服务器、本地图片、文件(下载tomcat配置的虚拟路径文件)可指定任意保存路径,SSM框架
背景:一个系统中有web网站与APP两个客户端,两个客户端有分别的后台,共同部署在一个服务器上,APP有一个上传图片.文件的功能,网站端则可以查看.下载APP上传的图片,下载APP上传的文件. 问题: ...
- java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源
实现该方法需要导入一些jar包 可以去一下地址下载: http://pan.baidu.com/s/1hqrJF7m /** * 实用工具类来获取服务器资源 * * get方法传送数据 * * 1.通 ...
- 服务器资源下载简单实现
服务器资源下载简单实现 注意需要提前在本地或服务器上的web项目的/WEB-INF/classes/可达鸭.png路径下准备资源 /WEB-INF放置在此文件下的文件无法通过请求+资源名进行访问,只能 ...
- 服务器性能监测工具NMON下载及使用【Centos内核服务器资源监控】
一.nmon下载使用|数据采集 1. NMON版本选择和下载 以Linux服务器为例,不同的操作系统内核需要选择对应版本的NMON安装包使用,首先查看被监控服务器内核版本.el7.x86_64:el7 ...
- 帮我写个全网搜索下载音乐资源的Java程序
你好! 写一个全网搜索下载音乐资源的 Java 程序需要以下几个步骤: 找到一个可以提供音乐搜索服务的网站, 并获取它的 API 接口. 创建一个 Java 项目, 并使用网络编程相关的类 (如 UR ...
- Python通过paramiko从远处服务器下载文件资源到本地
#!/usr/bin/env python # -*- coding: utf-8 -*-""" 通过paramiko从远处服务器下载文件资源到本地 author: gx ...
- 我的世界java服核心下载_我的世界java版服务器
我的世界java版服务器是由网易推出全自由的一款游戏,自由化的模式保证你可以在这里创建你喜欢的所有物品,多种玩法设计,而且还有大量的挑战等你来体验,在这个充满乐趣的世界当中,不断的完成你的冒险,享受有 ...
- 013_下载静态资源
一. 使用Tomcat默认的servlet去下载静态资源 1. 直接以超链接的方式下载, 不写任何代码, 就能够下载东西下来. <a href="Download/shake.wav ...
- mwc校准油门_编写下载服务器。 第五部分:油门下载速度
mwc校准油门 在僵尸网络时代,您可以租用几百美元来运行自己的分布式拒绝服务攻击,拥有紧急开关来有选择地关闭昂贵的功能或严重降低性能是一个巨大的胜利. 在缓解问题的同时,您的应用程序仍可运行. 当然, ...
最新文章
- php调用另一个页面内容,php怎么实现调用另一个页面
- python发明者叫什么-python是谁发明的
- 把struts2的struts.xml配置文件分解成多个配置文件
- python2.x和3.x为什么不兼容_Python中使用AES算法(解决Python2.x和3.x下运行不兼容问题)...
- AVL,B,B+,红黑
- 洛谷UVA1328,POJ1961-Period【KMP,字符串】
- [你必须知道的.NET]第十六回:深入浅出关键字---using全接触
- 查找单链表的倒数第k个节点,要求只能遍历一次链表(C语言)
- oracle 解死锁权限,讲解Oracle数据库中结束死锁进程的一般方法
- 答应我,安装chromedriver,按照版本号,v70就安装v2.42,
- PHP 怎样理解go指针,golang指针传递和值传递的区别是什么?
- 【MyBatis源码解析】MyBatis一二级缓存
- php中foreach()的用法
- 中缀表达式转后缀表达式(非常简单易懂)
- php函数 call_user_func
- 宇宙最帅XX--Alpha阶段项目复审
- IDEA的界面布局折腾(Main Menu主菜单栏消失的问题)
- C语言理论小学案例试讲,C语言试讲演示文稿.ppt
- 推荐几个选择时间.日期的免费插件 js
- matlab解决力学问题程序,力学专业程序实践:用MATLAB解决力学问题的方法与实例...
热门文章
- dom影像图形成数字地形图_基于MapMatrix的数字正射影像图制作
- Adobe Creative Cloud 不能加载APP导致卸载ps失败 解决方案
- matlab 数值计算方法 pdf,《现代数值计算方法(MATLAB版)》习题解答.pdf
- 支持向量机SVM思维导图
- word转PDF,导航窗格输出目录
- 如何查询Linux软件安装源,Zypper——suse软件查询 安装 升级 与 软件源编辑
- EmmyLua的安装与使用
- Altium Designer中的长度单位如何转换?
- Xcode 使用手册之01 欢迎使用Xcode(Xcode中文文档手册)
- 【EDA】8 路彩灯控制器设计与实现