问题标签 [bufferedreader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
21478 浏览

java - 在java中捕获IOException后如何关闭文件?

全部,

我试图确保在捕获 IOException 时关闭使用 BufferedReader 打开的文件,但看起来好像我的 BufferedReader 对象超出了 catch 块的范围。

Netbeans 抱怨它在 catch 块中“找不到符号 fileIn”,但我想确保在 IOException 的情况下 Reader 被关闭。如果没有第二个 try/catch 结构的丑陋,我怎么能做到这一点?

对于这种情况下的最佳实践的任何提示或指示,我们将不胜感激,

0 投票
2 回答
11155 浏览

java - Java BufferedReader 读行阻塞?

我想发出一个 HTTP 请求,然后得到如下所示的响应:

但我的问题是,如果我发送的请求需要很长时间才能收到响应,那么上面的调用 reader.readLine() 会发生什么?这个进程会在 CPU 上保持运行/可运行,还是会从 CPU 中取出并在有 IO 被读取时被通知唤醒并再次运行?

如果它停留在 CPU 上,有什么办法让它下车并在以后得到通知?

0 投票
1 回答
2089 浏览

java - 在 java 中跳过 BufferedReader readLine() 方法

如果需要的时间超过 2 秒,是否有一种简单的方法可以跳过 java 中的 readLine() 方法?

这是我提出这个问题的背景:

Comm是我写的一个类,receive方法,里面包含一个叫“in”的BufferedReader,是这样的:

我注意到程序停止并等待输入流在继续之前有要读取的内容。这很糟糕,因为我需要程序继续循环(当它循环时,它会转到所有其他客户端并要求输入)。如果没有什么可读的,有没有办法跳过 readLine() 过程?

我也很确定我没有很好地解释这一点,所以如果我感到困惑,请向我提问。

0 投票
1 回答
1318 浏览

java - 如何将 txt 文件从互联网加载到我的 jsf 应用程序中?

又是我)我还有另一个问题。我想从网络加载文件(例如 - txt)。我尝试在我的托管 bean 中使用下一个代码:

但是 BufferedReader 返回当前页面的 html 代码,我试图在其中调用托管 bean 的方法。这是很奇怪的事情——我用谷歌搜索过,没有人遇到过这个问题。

也许我做错了什么,也许我们有一种最简单的方法可以不使用 net API 将文件加载到 web (jsf) 应用程序中。有任何想法吗?

非常感谢您的帮助!

更新

也许一些 jsf 代码会有用:

更新 2:我从网络(不是本地主机)获取另一个文件 - 一切正常!很抱歉对此感到疯狂)))

正如 BalusC 所说,我的应用程序只是没有通过 URL 找到文件:http://localhost:8080/sfront/files/test.txt

我不知道为什么我不能使用本地文件。

有任何想法吗?

0 投票
2 回答
3368 浏览

java - StringBuffer 不会将整个流读入字符串(JAVA/Android)

我正在制作一个使用 HttpURLConnection 检索网页内容的 android 程序。我是 Java 和 Android 的新手。

问题是:阅读器读取整个页面源,但在最后一次迭代中,它没有附加到 stringBuffer 的最后一部分。

使用调试器我已经确定,在最后一次循环迭代中,创建了字符串 buff,但 stringBuffer 只是不附加它。

我需要解析检索到的内容。有没有比使用字符串更好的方法来处理解析内容。我在许多其他网站上读过,Java 中的字符串大小仅受可用堆大小的限制。我也尝试过使用 StringBuilder 。

任何人都知道可能是什么问题。顺便说一句,随时建议对代码进行任何改进。

谢谢!

0 投票
2 回答
446 浏览

java - BufferedReader 和 PrintWriter 的数据持久性?

我有这个简单的应用程序,其中包含几个相关的类。有一个,主要的,只有一个实例。我需要使用文本流保存并加载它。

我的讲师要求是 BufferedReader 加载流和 PrintWriter 保存它。但这甚至可能吗?用文本流持久化数据对象/类?

我知道如何使用序列化来处理对象。但我不明白我应该如何使用文本流来做到这一点。

建议?

0 投票
5 回答
4325 浏览

java - 使用 BufferedReader 从持续增长的大型文件中读取

我的任务是(稍微有效地)逐行读取一个非常大的、不断增长的文件。这基本上是我现在正在做的事情:

所以我的 BufferedReader 只是挂在文件的末尾,直到有更多的东西要读取。这工作得很好,但有一个问题 - 如果在写入文件的进程正在写入一行时调用 readLine。然后第一次调用 readLine 将返回该行的第一部分,下一次调用将返回第二部分。但我真的需要这两部分在一起,我需要完整的线条。

更具体地说,我的问题发生在以下事件交错发生时:

  1. 写过程写了大部分的一行
  2. 调用 readLine()
  3. 编写过程完成该行并添加换行符
  4. 调用 readLine()

结果是每个 readLine() 都会选取写入过程正在输出的整行的一部分。它的行为符合预期,因为每次调用它时,它都会到达文件的末尾,因此返回它读取的内容。

所以本质上我需要的功能是一个 BufferedReader,它在 readLine 之前返回 null;一个不会给你一行,直到它后面有一个换行符,而不仅仅是它之后的 EOF。因此,如果它找到 EOF,它不会返回该点之前的行,它返回 null,并在文件被写入后返回该行并且后面有一个新行。

我可能可以通过更直接地处理 FileReader 并且本质上重写 BufferedReader 来实现一种粗略的方法,但我不太了解如何有效地做到这一点。我的实现可能不会像真正的 BufferedReader 那样快,并且我想避免在需要读取数据时减慢程序的速度。

0 投票
1 回答
471 浏览

java - Java BufferedReader 对字符的操作?

enter code here我正在从 Linux 中的设备读取包含十六进制字母并由“^M”分隔的流。每当设备准备好获取更多信息时,它都会发送字符“>”。流看起来像这样:

我需要检测 char > 并对该 char 执行操作。有没有办法可以在“>”上划界并读取该字符?

基本上它目前看起来像这样

我需要 > 来触发单独的操作。如果由于某种原因只有一个字符,它不会触发读取缓冲区。我在 ^M 上分界线。我需要 > 做其他事情。

0 投票
3 回答
907 浏览

java - Java BufferedReader 包含“>”时未报告就绪

我早些时候试图问这个问题,但我的问题不清楚。Java BufferedReader 对字符的操作?

这是我的问题.. 我有一个 BufferedReader 设置为从设备读取。它读得很好。我把它设置为

>在我向设备发送更多数据之前,缓冲阅读器不会报告。问题是,当阅读器包含>它时,它还没有准备好报告。>在我输入更多数据之前,它会一直保留。

我尝试了以下,它什么也没返回。它甚至不返回 log.level0()

这是发送的实际数据:

但是 BufferedReader 会忽略,>直到发送了更多数据,然后得到如下结果:

当我从命令提示符检查设备的实际数据时,它会返回我所期望的,>即存在的。

BufferedReader 不会给我>. 有什么方法可以检查这个字符吗?

0 投票
1 回答
2538 浏览

java - BufferedReader 如何跟踪已读取的行?

我正在从文件中读取行,并且我相信一旦读取了所有行,由于我的 while 循环条件,我会遇到异常。

... 编码...

内部的 for 循环将必须读取几行,因此如果读取文件的最后一行,则 while 将尝试读取,readLine()并且由于已读取整个文件而失败。那么如何BufferedReader readLine()工作以及如何安全地退出我的 while 循环?

谢谢。