最近在开发关于java读取ftp中TXT文件,其中有些坑踩了一下,再次做个记录
1、读取文件时我会根据文件名称去生成数据库表,oracle数据库对于表名的长度是有限制的,最多30个字符
2、对于多个文件的ftp的读取,每次获取文件后再次回去文件的流会为空,即在循环中多次根据ftp获取文件的流
当出现这种情况时,需要在循环时每次开启和关闭ftp的链接即可解决,否则在第二次获取的时候inputsteam为null
3、读取txt文件时,如果文件中包含中文,进行读取时可能会出现乱码,这是可设置读取的字符集为UTF-8,如果不行,再试试
GB2312
4、java读取TXT文件:
InputStreamReader reader = new InputStreamReader(is, "GB2312");
BufferedReader br = new BufferedReader(reader);
String lineTxt = null; //每行数据
int rowNum = 0;
while ((lineTxt = br.readLine()) != null) {}
补充知识:Java实现从FTP获取文件下载到本地,并读取文件中的内容的成功方法
我就废话不多说了,大家还是直接看代码吧~
package com.aof.web.servlet;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import javax.jws.WebService;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
@WebService(endpointInterface="com.aof.web.servlet.QualityComplainServices&