Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx

上传人:b****2 文档编号:1916389 上传时间:2023-05-02 格式:DOCX 页数:55 大小:30.40KB
下载 相关 举报
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第1页
第1页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第2页
第2页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第3页
第3页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第4页
第4页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第5页
第5页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第6页
第6页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第7页
第7页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第8页
第8页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第9页
第9页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第10页
第10页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第11页
第11页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第12页
第12页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第13页
第13页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第14页
第14页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第15页
第15页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第16页
第16页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第17页
第17页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第18页
第18页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第19页
第19页 / 共55页
Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx_第20页
第20页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx

《Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx》由会员分享,可在线阅读,更多相关《Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx(55页珍藏版)》请在冰点文库上搜索。

Java常用FTP文件操作说明 ApacheFTPClientftp4jjftp.docx

Java常用FTP文件操作说明ApacheFTPClientftp4jjftp

最近因工作需要,数据库中的数据需要从FTP服务中抽取数据文件然后校检再抽取到数据中。

因为第一步需要从FTP服务中抽取数据文件。

第二步采用JDBC批量数据更新。

1。

采用Apache.FTPClient:

Java代码

1./** 

2. * Apache.FTPClient FTP操作共公类 

3. *  

4. * @author 张明学 

5. *  

6. */  

7.public class FTPCommon {  

8.  

9.    private FTPClient ftpClient;  

10.  

11.    private FTPModel ftpModel;  

12.  

13.    public FTPCommon(FTPModel ftp) {  

14.        super();  

15.        // 从配置文件中读取初始化信息  

16.        this.ftpClient = new FTPClient();  

17.        this.ftpModel = ftp;  

18.    }  

19.  

20.    /** 

21.     * 连接并登录FTP服务器 

22.     *  

23.     */  

24.    public boolean ftpLogin() {  

25.        boolean isLogin = false;  

26.        FTPClientConfig ftpClientConfig = new FTPClientConfig(  

27.                FTPClientConfig.SYST_NT);  

28.        ftpClientConfig.setServerTimeZoneId(TimeZone.getDefault().getID());  

29.        this.ftpClient.setControlEncoding("GBK");  

30.        this.ftpClient.configure(ftpClientConfig);  

31.        try {  

32.            if (this.ftpModel.getPort() > 0) {  

33.                this.ftpClient.connect(ftpModel.getUrl(), ftpModel.getPort());  

34.            } else {  

35.                this.ftpClient.connect(ftpModel.getUrl());  

36.            }  

37.            // FTP服务器连接回答  

38.            int reply = this.ftpClient.getReplyCode();  

39.            if (!

FTPReply.isPositiveCompletion(reply)) {  

40.                this.ftpClient.disconnect();  

41.                return isLogin;  

42.            }  

43.            this.ftpClient.login(this.ftpModel.getUsername(), this.ftpModel  

44.                    .getPassword());  

45.            this.ftpClient.changeWorkingDirectory(this.ftpModel.getRemoteDir());  

46.            this.ftpClient.setFileType(FTPClient.FILE_STRUCTURE);  

47.            LogUtil.infoOutPut("成功登陆FTP服务器:

" + this.ftpModel.getUrl() + " 端口号:

"  

48.                    + this.getFtpModel().getPort() + " 目录:

"  

49.                    + this.ftpModel.getRemoteDir());  

50.            isLogin = true;  

51.        } catch (SocketException e) {  

52.            e.printStackTrace();  

53.            LogUtil.logPrint("连接FTP服务失败!

", Constants.LOG_EXCEPTION);  

54.            LogUtil.logPrint(e.getMessage(), Constants.LOG_EXCEPTION);  

55.        } catch (IOException e) {  

56.            e.printStackTrace();  

57.            LogUtil.logPrint("登录FTP服务失败!

", Constants.LOG_EXCEPTION);  

58.            LogUtil.logPrint(e.getMessage(), Constants.LOG_EXCEPTION);  

59.        }  

60.        System.out.println(this.ftpClient.getBufferSize());  

61.        this.ftpClient.setBufferSize(1024 * 2);  

62.        this.ftpClient.setDataTimeout(2000);  

63.        return isLogin;  

64.    }  

65.  

66.    /** 

67.     * 退出并关闭FTP连接 

68.     *  

69.     */  

70.    public void close() {  

71.        if (null !

= this.ftpClient && this.ftpClient.isConnected()) {  

72.            try {  

73.                boolean reuslt = this.ftpClient.logout();// 退出FTP服务器  

74.                if (reuslt) {  

75.                    LogUtil.info("退出并关闭FTP服务器的连接");  

76.                }  

77.            } catch (IOException e) {  

78.                e.printStackTrace();  

79.                LogUtil.exception("退出FTP服务器异常!

");  

80.                LogUtil.exception(e.getMessage());  

81.            } finally {  

82.                try {  

83.                    this.ftpClient.disconnect();// 关闭FTP服务器的连接  

84.                } catch (IOException e) {  

85.                    e.printStackTrace();  

86.                    LogUtil.exception("关闭FTP服务器的连接异常!

");  

87.                    LogUtil.exception(e.getMessage());  

88.                }  

89.            }  

90.        }  

91.    }  

92.  

93.    /** 

94.     * 检查FTP服务器是否关闭 ,如果关闭接则连接登录FTP 

95.     *  

96.     * @return 

97.     */  

98.    public boolean isOpenFTPConnection() {  

99.        boolean isOpen = false;  

100.        if (null == this.ftpClient) {  

101.            return false;  

102.        }  

103.        try {  

104.            // 没有连接  

105.            if (!

this.ftpClient.isConnected()) {  

106.                isOpen = this.ftpLogin();  

107.            }  

108.        } catch (Exception e) {  

109.            e.printStackTrace();  

110.            LogUtil.exception("FTP服务器连接登录异常!

");  

111.            LogUtil.exception(e.getMessage());  

112.            isOpen = false;  

113.        }  

114.        return isOpen;  

115.    }  

116.  

117.    /** 

118.     * 设置传输文件的类型[文本文件或者二进制文件] 

119.     *  

120.     * @param fileType--FTPClient.BINARY_FILE_TYPE,FTPClient.ASCII_FILE_TYPE 

121.     */  

122.    public void setFileType(int fileType) {  

123.        try {  

124.            this.ftpClient.setFileType(fileType);  

125.        } catch (IOException e) {  

126.            e.printStackTrace();  

127.            LogUtil.exception("设置传输文件的类型异常!

");  

128.            LogUtil.exception(e.getMessage());  

129.        }  

130.    }  

131.  

132.    /** 

133.     * 下载文件 

134.     *  

135.     * @param localFilePath 

136.     *            本地文件名及路径 

137.     * @param remoteFileName 

138.     *            远程文件名称 

139.     * @return 

140.     */  

141.    public boolean downloadFile(String localFilePath, String remoteFileName) {  

142.        BufferedOutputStream outStream = null;  

143.        boolean success = false;  

144.        try {  

145.            outStream = new BufferedOutputStream(new FileOutputStream(  

146.                    localFilePath));  

147.            success = this.ftpClient.retrieveFile(remoteFileName, outStream);  

148.        } catch (FileNotFoundException e) {  

149.            e.printStackTrace();  

150.        } catch (IOException e) {  

151.            e.printStackTrace();  

152.        } finally {  

153.            if (outStream !

= null) {  

154.                try {  

155.                    outStream.flush();  

156.                    outStream.close();  

157.                } catch (IOException e) {  

158.                    e.printStackTrace();  

159.                }  

160.            }  

161.        }  

162.        return success;  

163.    }  

164.  

165.    /** 

166.     * 下载文件 

167.     *  

168.     * @param localFilePath 

169.     *            本地文件 

170.     * @param remoteFileName 

171.     *            远程文件名称 

172.     * @return 

173.     */  

174.    public boolean downloadFile(File localFile, String remoteFileName) {  

175.        BufferedOutputStream outStream = null;  

176.        FileOutputStream outStr = null;  

177.        boolean success = false;  

178.        try {  

179.            outStr = new FileOutputStream(localFile);  

180.            outStream = new BufferedOutputStream(outStr);  

181.            success = this.ftpClient.retrieveFile(remoteFileName, outStream);  

182.        } catch (FileNotFoundException e) {  

183.            e.printStackTrace();  

184.        } catch (IOException e) {  

185.            e.printStackTrace();  

186.        } finally {  

187.            try {  

188.                if (null !

= outStream) {  

189.                    try {  

190.                        outStream.flush();  

191.                        outStream.close();  

192.                    } catch (IOException e) {  

193.                        e.printStackTrace();  

194.                    }  

195.                }  

196.            } catch (Exception e) {  

197.                e.printStackTrace();  

198.            } finally {  

199.                if (null !

= outStr) {  

200.                    try {  

201.                        outStr.flush();  

202.                        outStr.close();  

203.                    } catch (IOException e) {  

204.                        e.printStackTrace();  

205.                    }  

206.  

207.                }  

208.            }  

209.        }  

210.        return success;  

211.    }  

212.  

213.    /** 

214.     * 上传文件 

215.     *  

216.     * @param localFilePath 

217.     *            本地文件路径及名称 

218.     * @param remoteFileName 

219.     *            FTP 服务器文件名称 

220.     * @return 

221.     */  

222.    public boolean uploadFile(String localFilePath, String remoteFileName) {  

223.        BufferedInputStream inStream = null;  

224.        boolean success = false;  

225.        try {  

226.            inStream = new BufferedInputStream(new FileInputStream(  

227.                    localFilePath));  

228.            success = this.ftpClient.storeFile(remoteFileName, inStream);  

229.        } catch (FileNotFoundException e) {  

230.            e.printStackTrace();  

231.        } catch (IOException e) {  

232.            e.printStackTrace();  

233.        } finally {  

234.            if (inStream !

= null) {  

235.                try {  

236.                    inStream.close();  

237.                } catch (IOException e) {  

238.                    e.printStackTrace();  

239.                }  

240.            }  

241.        }  

242.        return success;  

243.    }  

244.  

245.    /** 

246.     * 上传文件 

247.     *  

248.     * @param localFilePath 

249.     *            本地文件 

250.     * @param remoteFileName 

251.     *            FTP 服务器文件名称 

252.     * @return 

253.     */  

254.    public boolean uploadFile(File localFile, String remoteFileName) {  

255.        BufferedInputStream inStrea

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2