gpt4 book ai didi

java - java逐行下载文件

转载 作者:行者123 更新时间:2023-12-02 07:25:24 24 4
gpt4 key购买 nike

我知道这个问题对于你们大多数人来说可能听起来非常基本。我需要从服务器下载一个大文件。该文件的第一行包含一个时间标记。仅当我的时间标签与文件的时间标签不匹配时,我才想下载整个文件。为此,我使用给定的代码。但是,我不确定这是否真的可以防止文件无用地下载整个文件。

请帮帮我!

public String downloadString(String url,String myTime)
{
try {
URL url1 = new URL(url);
URLConnection tc = url1.openConnection();
tc.setConnectTimeout(timeout);
tc.setReadTimeout(timeout);
BufferedReader br = new BufferedReader(new InputStreamReader(tc.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {

if(line.contains(myTime))
{
Log.d("TIME CHECK", "Article already updated");
break;
}
sb.append(line+"\n");
}
br.close();
return sb.toString();
}
catch(Exception e)
{
Log.d("Error","In JSON downloading");
}

return null;
}

最佳答案

不,没有简单的方法可以精确控制要下载的内容到最后一个字节。即使在 Java 级别,您也会涉及到 BufferedReader,它显然会下载比您要求的更多的内容,并对其进行缓冲。还有其他缓冲区,包括您无法控制的操作系统级别的缓冲区。通过 HTTP 仅下载新文件的正确技术是使用 IfModifiedSince header 。

关于java - java逐行下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13642748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com