如何用Java解析位于FTP中的txt文件
来源:互联网 发布:伊舜数码淘宝店怎么样 编辑:程序博客网 时间:2024/05/16 11:48
在Java开发过程中,有些时候可能会遇到解析FTP中文件的问题,在此我们以txt格式为例子,来进行一次对FTP的访问。
首先是对一个文件的解析,我们使用properties文件来存储对访问FTP的一些基本配置:如果FTP不需要账户密码的话,默认是anonymous;ftpHost为FTP地址。
//读取配置文件InputStream propertiesIn = getClass().getClassLoader().getResourceAsStream(ftpConfigName + ".properties");if (propertiesIn == null) { logger.info("配置文件读取失败");}
- 然后将配置文件中的基本信息一一获取:
String ftpUserName = properties.getProperty("ftpUserName");String ftpPassword = properties.getProperty("ftpPassword");String ftpHost = properties.getProperty("ftpHost");String fileName = properties.getProperty("fileName");String filePath = properties.getProperty("filePath");
- 连接服务器,跳转至操作路径:
FTPClient ftpClient = new FTPClient();try { ftpClient.connect(ftpHost); ftpClient.login(ftpUserName, ftpPassword); ftpClient.changeWorkingDirectory(filePath);} catch (IOException e) { e.printStackTrace();}
- 获取该路径下的目录,与数据文件中一一比对
FTPFile[] file = new FTPFile[0];try { file = ftpClient.listFiles();} catch (IOException e) { logger.error("获取路径出错"); e.printStackTrace();}
- 遍历比对:
for (int i = 0; i < file.length; i++) { String name = file[i].getName(); if (fileName.equals(name)) { try (InputStream in = ftpClient.retrieveFileStream(name)) { BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); ftpClient.completePendingCommand();//完成挂起。可重复读取 } catch (IOException e) { e.printStackTrace(); } catch (MyException e) { e.printStackTrace(); } }}
- 如果是对该文件夹下所有的文件进行解析,则可以跳过比对步骤,如果要求特定格式文件,可以对file.getName()进行操作并比较。
0 0
- 如何用Java解析位于FTP中的txt文件
- 如何用matlab索引文件夹中的所有.txt文件?
- 如何用matlab索引文件夹中的所有.txt文件
- 如何用delphi实现ftp下载文件
- 如何用FTP软件上传网站文件
- 如何用Java构建FTP服务器
- 如何用java读取一个txt 文件内的内容并把它赋值与String里?
- java解析txt文件
- java解析txt文件
- Java解析txt文件
- 如何用javascript操作本地文件(读写txt文件)
- 如何用javascript操作本地文件(读写txt文件)
- 如何用QT实现txt文件的读写
- ftp下载,解析txt文件入库
- 如何用Spring读取JAR中的文件
- 如何用java 程序打包 war 文件
- 如何用JAVA实现文件的覆盖
- 如何用java生成html文件
- 二维数组中的寻找
- TOEFL 段落展开方式
- Spring读取属性文件
- 获取个十百千位
- Fragment 初探(一)
- 如何用Java解析位于FTP中的txt文件
- Android项目之小闹钟代码
- 【linux】文件传输 scp
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
- [转]java的事务处理
- Java常见异常总结
- 解决线程同步的三种方法:
- 1033. To Fill or Not to Fill (25)
- ARM处理器的工作状态