Java读取FTP上的txt文件
来源:互联网 发布:淘宝预热商品怎么删除 编辑:程序博客网 时间:2024/04/29 05:59
package com.etwin.gateway.shopping.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.SocketException; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; /** * @describe 读取FTP上的文件 * @auto li.wang * @date 2013-11-18 下午4:07:34 */ public class FtpUtils { private FTPClient ftpClient; private String fileName, strencoding; private String ip = "113.108.96.3"; // 服务器IP地址 private String userName = "test"; // 用户名 private String userPwd = "test"; // 密码 private int port = 21; // 端口号 private String path = "/SZX348/OPFQ/"; // 读取文件的存放目录 /** * init ftp servere */ public FtpUtils() { this.reSet(); } public void reSet() { // 以当前系统时间拼接文件名 fileName = "20131112114850793835861000010161141169.txt"; strencoding = "UTF-8"; this.connectServer(ip, port, userName, userPwd, path); } /** * @param ip * @param port * @param userName * @param userPwd * @param path * @throws SocketException * @throws IOException function:连接到服务器 */ public void connectServer(String ip, int port, String userName, String userPwd, String path) { ftpClient = new FTPClient(); try { // 连接 ftpClient.connect(ip, port); // 登录 ftpClient.login(userName, userPwd); if (path != null && path.length() > 0) { // 跳转到指定目录 ftpClient.changeWorkingDirectory(path); } } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * @throws IOException function:关闭连接 */ public void closeServer() { if (ftpClient.isConnected()) { try { ftpClient.logout(); ftpClient.disconnect(); } catch (IOException e) { e.printStackTrace(); } } } /** * @param path * @return function:读取指定目录下的文件名 * @throws IOException */ public List<String> getFileList(String path) { List<String> fileLists = new ArrayList<String>(); // 获得指定目录下所有文件名 FTPFile[] ftpFiles = null; try { ftpFiles = ftpClient.listFiles(path); } catch (IOException e) { e.printStackTrace(); } for (int i = 0; ftpFiles != null && i < ftpFiles.length; i++) { FTPFile file = ftpFiles[i]; if (file.isFile()) { fileLists.add(file.getName()); } } return fileLists; } /** * @param fileName * @return function:从服务器上读取指定的文件 * @throws ParseException * @throws IOException */ public String readFile() throws ParseException { InputStream ins = null; StringBuilder builder = null; try { // 从服务器上读取指定的文件 ins = ftpClient.retrieveFileStream(fileName); BufferedReader reader = new BufferedReader(new InputStreamReader(ins, strencoding)); String line; builder = new StringBuilder(150); while ((line = reader.readLine()) != null) { System.out.println(line); builder.append(line); } reader.close(); if (ins != null) { ins.close(); } // 主动调用一次getReply()把接下来的226消费掉. 这样做是可以解决这个返回null问题 ftpClient.getReply(); } catch (IOException e) { e.printStackTrace(); } return builder.toString(); } /** * @param fileName function:删除文件 */ public void deleteFile(String fileName) { try { ftpClient.deleteFile(fileName); } catch (IOException e) { e.printStackTrace(); } } /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { FtpUtils ftp = new FtpUtils(); String str = ftp.readFile(); System.out.println(str); } }
转自 http://www.cxyclub.cn/n/50660/
0 0
- Java读取FTP上的txt文件
- Java方式读取本地服务器上的txt文件
- java 往ftp上上传跟下载txt文件
- JAVA读取txt文件
- Java读取txt文件
- java读取txt文件
- java读取txt文件
- Java读取txt文件
- java读取txt文件
- java 读取txt文件
- java读取txt文件
- JAVA读取txt文件
- java读取txt文件
- java读取txt文件
- Java读取txt文件
- Java读取TXT文件内容的方法
- java读取TXT文件的方法
- java读取TXT文件的方法
- kyeremal-最大流dinic算法模板-多路增广
- PCH文件
- Hello, everybody.
- 1、MapReduce 工作原理简介(待补充)
- 请禁用VS(C++)2013的链接器的COMDAT选项
- Java读取FTP上的txt文件
- 玩命牛的成长记录(九)——服务
- 别样的动态规划 Codeforces Round #154 (Div. 2)——B
- 治疗忧郁症的好方法 .
- 分治法解决最大子数组问题
- 玩命牛的成长记录(九)——搭建服务器
- OJ 整理音乐——链表
- MySQL性能测试分析
- 个人小项目展示