我使用下面的代码成功下载了存储在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条记录发生一次。我尝试通过增加缓冲区大小来修复,但仍然存在损坏的行。 任何帮助将不胜感激:)
答案 0 :(得分:0)
当然!你必须知道字符串有多长:除非文件大小是4096的倍数,否则你总是会在buffer
中找到旧项目
您必须使用此语法
String str = new String(buffer, 0, bytesRead, "utf-8");