gpt4 book ai didi

java - 读取远程xml文件

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

我想读取远程位置上存在的 xml 文件。我使用以下代码

URL url = new URL(myurl);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String inputLine;
String strOutput = "";
System.out.println("start now");
//my code hangs after priting start now
while ((inputLine = in.readLine()) != null) {
strOutput = strOutput + inputLine;
}

//contol doesnot reach here sometimes
in.close();

这是读取远程文件的好方法吗?网络慢是什么原因?请提出建议

最佳答案

评论已经表明存在一些不良做法。我将尝试列出可能导致性能不佳的原因:

  • 使用readLine()。您假设 XML 文件包含多行,每行以 \r\n\r\n 终止。情况不一定如此,导致 readLine() 需要相当长的时间才能完成。
  • 连接String对象。 Java 中的字符串是不可变的。连接字符串将创建一个新的字符串对象,如果生成的字符串非常大,这可能会变得昂贵。如果您的文档的范围从几个字节到千字节,这可能不是问题,但如果它达到兆字节,您就会遇到麻烦。请改用 StringBuilderStringBuffer
  • 对网络性能的假设。最好获取文件并解析它,而不是打开连接、缓冲其内容然后解析它。网络可能根本无法及时响应您读取文件的请求。通过预取文件,您可以避免在每个 readLine() 上访问网络,因为这需要读取超出缓冲内容的内容。

关于java - 读取远程xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6705656/

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