我有这段代码,我用它来读取网页的源代码。这段代码在循环中运行很多次。然而,大多数时候它并没有完成。例如,如果输出文件应该是180kb的文本文件,我有180这意味着它是完整的,我也得到各种大小像9kb,150kb,170kb,50kb等...我的意思是每10个循环它给我一个完整的页面3次10和7次左右的不完整的源文件。Java - 早熟EOF - 写网页阅读器的更好方法?
我已经在其他地方见过过早EOF这些数据快到慢于它被处理,我想指出我的连接速度很慢,我在我的win7-64执行与此相同的代码,它给了我3完成10个。我在虚拟windows xp中运行eclipse,内存和处理能力都较少,并且在10个完整版本中有6个更好,但仍然给我带来了错误。我已经使用
抛出IOException异常,这让我这个错误并停止代码:
Exception in thread "main" java.io.IOException: Premature EOF
at sun.net.www.http.ChunkedInputStream.readAheadBlocking(Unknown Source)
at sun.net.www.http.ChunkedInputStream.readAhead(Unknown Source)
at sun.net.www.http.ChunkedInputStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at SourceCodeExtractor.main(SourceCodeExtractor.java:34)
我已删除了引发和使用尝试抓住它继续与完成最后一个循环或不完整的下一个文件(我得到我的源代码,它可能是180kb或9kb)。我说吐出错误2时,尝试while循环,它这样做,我可以说这是同时的问题...
是您连接到的网站也太慢? – Farzad
不是他们真的很体面。无论如何,我有28kb的下载速度,但代码使用不到5kbps的带宽。我也接受其他建议。自由地呈现全新的代码...我不受这段代码的约束,但它是我知道阅读网页的唯一方法。 – anno
您可以将整个代码粘贴到您使用的真实网站名称中吗?我想尝试在我身边。 – Farzad