【问题标题】:Is it possible for the compiler to have a maximum on output? [duplicate]编译器是否有可能在输出上有最大值? [复制]
【发布时间】:2016-10-06 01:13:29
【问题描述】:

[原文][1]

[我在服务器类中打印时的结果][2]

在我的服务器类中,我想读取文本文件的每一行,包括空行,但它从文件中间开始。我相信这与 ecplise 最大输出有关。我知道是因为我从每一行得到了正确的字节输出。

【问题讨论】:

  • 您的代码只读取一行。您应该使用循环并遍历文件。
  • 废话。它读取文件中的所有内容,并在 EOF 处停止。它适用于其他所有人。注意您在这里发送的唯一内容是线路长度,而不是线路本身。你有没有关闭或刷新pr
  • 那你应该查一下。 pr.flush(),在您从套接字进行下一次读取之前。
  • 现在你声称它从文件的中间开始,这不仅是不可能的,而且与你原来的说法相矛盾。
  • @EJP 我会上传结果,我为什么要编这个?

标签: java file bufferedreader


【解决方案1】:

使用循环并遍历整个文件:

while ((line = buffer.readLine()) != null)) {
    pr.println(line);
}

【讨论】:

  • @Nameish 这只能意味着文件中只有一行,或者您没有运行您认为正在运行的代码。
  • @Nameishi 那里只有一行。 QED。 HTML 渲染器会将其渲染为几行,但这不是您所要求的,也不是BufferedReader 的用途。或服务器。
  • 它停在 EOF 而不是之前。
【解决方案2】:

您需要某种循环来遍历 BufferedReader。如果 readLine() 返回 null,则说明您处于流的末尾,您可以跳出循环。

请参阅BufferedReader 的 API。

【讨论】:

  • @Nameishi 当您接受了这个答案后,您应该删除所有声称它不起作用的 cmets,和/或解释是什么阻止了它为您工作。只是重新编译吗?还是不贴真实代码?
  • 我更改了 ecplise 上的设置,这就是问题所在。现在我看到了整个输出。我提供的代码运行良好。
猜你喜欢
  • 2023-02-06
  • 2012-10-12
  • 1970-01-01
  • 2012-09-22
  • 1970-01-01
  • 2011-01-25
  • 1970-01-01
  • 2017-11-11
  • 2012-01-05
相关资源
最近更新 更多