用java下载ftp csv文件

时间:2014-05-26 23:33:53

标签: java file csv ftp download

我使用下面的代码成功下载了存储在ftp服务器中的csv文件。

URL url = new URL(ftpUrl); 
URLConnection conn = url.openConnection();

InputStream inputStream = conn.getInputStream();
long filesize = conn.getContentLength();
byte[] buffer = new byte[4096];
int bytesRead = -1;

while ((bytesRead = inputStream.read(buffer)) != -1) {
    String str = new String(buffer, "UTF-8");
    out.println(str);
} 

csv文件有1276KB文件大小和大约20.000行。问题是生成的csv文件有一些空行或缺少信息。损坏的行大约每100条记录发生一次。我尝试通过增加缓冲区大小来修复,但仍然存在损坏的行。 任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

当然!你必须知道字符串有多长:除非文件大小是4096的倍数,否则你总是会在buffer中找到旧项目

您必须使用此语法

String str = new String(buffer, 0, bytesRead, "utf-8");