问题标签 [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.
java - 在java中捕获IOException后如何关闭文件?
全部,
我试图确保在捕获 IOException 时关闭使用 BufferedReader 打开的文件,但看起来好像我的 BufferedReader 对象超出了 catch 块的范围。
Netbeans 抱怨它在 catch 块中“找不到符号 fileIn”,但我想确保在 IOException 的情况下 Reader 被关闭。如果没有第二个 try/catch 结构的丑陋,我怎么能做到这一点?
对于这种情况下的最佳实践的任何提示或指示,我们将不胜感激,
java - Java BufferedReader 读行阻塞?
我想发出一个 HTTP 请求,然后得到如下所示的响应:
但我的问题是,如果我发送的请求需要很长时间才能收到响应,那么上面的调用 reader.readLine() 会发生什么?这个进程会在 CPU 上保持运行/可运行,还是会从 CPU 中取出并在有 IO 被读取时被通知唤醒并再次运行?
如果它停留在 CPU 上,有什么办法让它下车并在以后得到通知?
java - 在 java 中跳过 BufferedReader readLine() 方法
如果需要的时间超过 2 秒,是否有一种简单的方法可以跳过 java 中的 readLine() 方法?
这是我提出这个问题的背景:
Comm是我写的一个类,receive方法,里面包含一个叫“in”的BufferedReader,是这样的:
我注意到程序停止并等待输入流在继续之前有要读取的内容。这很糟糕,因为我需要程序继续循环(当它循环时,它会转到所有其他客户端并要求输入)。如果没有什么可读的,有没有办法跳过 readLine() 过程?
我也很确定我没有很好地解释这一点,所以如果我感到困惑,请向我提问。
java - 如何将 txt 文件从互联网加载到我的 jsf 应用程序中?
又是我)我还有另一个问题。我想从网络加载文件(例如 - txt)。我尝试在我的托管 bean 中使用下一个代码:
但是 BufferedReader 返回当前页面的 html 代码,我试图在其中调用托管 bean 的方法。这是很奇怪的事情——我用谷歌搜索过,没有人遇到过这个问题。
也许我做错了什么,也许我们有一种最简单的方法可以不使用 net API 将文件加载到 web (jsf) 应用程序中。有任何想法吗?
非常感谢您的帮助!
更新:
也许一些 jsf 代码会有用:
更新 2:我从网络(不是本地主机)获取另一个文件 - 一切正常!很抱歉对此感到疯狂)))
正如 BalusC 所说,我的应用程序只是没有通过 URL 找到文件:http://localhost:8080/sfront/files/test.txt。
我不知道为什么我不能使用本地文件。
有任何想法吗?
java - StringBuffer 不会将整个流读入字符串(JAVA/Android)
我正在制作一个使用 HttpURLConnection 检索网页内容的 android 程序。我是 Java 和 Android 的新手。
问题是:阅读器读取整个页面源,但在最后一次迭代中,它没有附加到 stringBuffer 的最后一部分。
使用调试器我已经确定,在最后一次循环迭代中,创建了字符串 buff,但 stringBuffer 只是不附加它。
我需要解析检索到的内容。有没有比使用字符串更好的方法来处理解析内容。我在许多其他网站上读过,Java 中的字符串大小仅受可用堆大小的限制。我也尝试过使用 StringBuilder 。
任何人都知道可能是什么问题。顺便说一句,随时建议对代码进行任何改进。
谢谢!
java - BufferedReader 和 PrintWriter 的数据持久性?
我有这个简单的应用程序,其中包含几个相关的类。有一个,主要的,只有一个实例。我需要使用文本流保存并加载它。
我的讲师要求是 BufferedReader 加载流和 PrintWriter 保存它。但这甚至可能吗?用文本流持久化数据对象/类?
我知道如何使用序列化来处理对象。但我不明白我应该如何使用文本流来做到这一点。
建议?
java - 使用 BufferedReader 从持续增长的大型文件中读取
我的任务是(稍微有效地)逐行读取一个非常大的、不断增长的文件。这基本上是我现在正在做的事情:
所以我的 BufferedReader 只是挂在文件的末尾,直到有更多的东西要读取。这工作得很好,但有一个问题 - 如果在写入文件的进程正在写入一行时调用 readLine。然后第一次调用 readLine 将返回该行的第一部分,下一次调用将返回第二部分。但我真的需要这两部分在一起,我需要完整的线条。
更具体地说,我的问题发生在以下事件交错发生时:
- 写过程写了大部分的一行
- 调用 readLine()
- 编写过程完成该行并添加换行符
- 调用 readLine()
结果是每个 readLine() 都会选取写入过程正在输出的整行的一部分。它的行为符合预期,因为每次调用它时,它都会到达文件的末尾,因此返回它读取的内容。
所以本质上我需要的功能是一个 BufferedReader,它在 readLine 之前返回 null;一个不会给你一行,直到它后面有一个换行符,而不仅仅是它之后的 EOF。因此,如果它找到 EOF,它不会返回该点之前的行,它返回 null,并在文件被写入后返回该行并且后面有一个新行。
我可能可以通过更直接地处理 FileReader 并且本质上重写 BufferedReader 来实现一种粗略的方法,但我不太了解如何有效地做到这一点。我的实现可能不会像真正的 BufferedReader 那样快,并且我想避免在需要读取数据时减慢程序的速度。
java - Java BufferedReader 对字符的操作?
enter code here
我正在从 Linux 中的设备读取包含十六进制字母并由“^M”分隔的流。每当设备准备好获取更多信息时,它都会发送字符“>”。流看起来像这样:
我需要检测 char > 并对该 char 执行操作。有没有办法可以在“>”上划界并读取该字符?
基本上它目前看起来像这样
我需要 > 来触发单独的操作。如果由于某种原因只有一个字符,它不会触发读取缓冲区。我在 ^M 上分界线。我需要 > 做其他事情。
java - Java BufferedReader 包含“>”时未报告就绪
我早些时候试图问这个问题,但我的问题不清楚。Java BufferedReader 对字符的操作?
这是我的问题.. 我有一个 BufferedReader 设置为从设备读取。它读得很好。我把它设置为
>
在我向设备发送更多数据之前,缓冲阅读器不会报告。问题是,当阅读器包含>
它时,它还没有准备好报告。>
在我输入更多数据之前,它会一直保留。
我尝试了以下,它什么也没返回。它甚至不返回 log.level0()
这是发送的实际数据:
但是 BufferedReader 会忽略,>
直到发送了更多数据,然后得到如下结果:
当我从命令提示符检查设备的实际数据时,它会返回我所期望的,>
即存在的。
BufferedReader 不会给我>
. 有什么方法可以检查这个字符吗?
java - BufferedReader 如何跟踪已读取的行?
我正在从文件中读取行,并且我相信一旦读取了所有行,由于我的 while 循环条件,我会遇到异常。
... 编码...
内部的 for 循环将必须读取几行,因此如果读取文件的最后一行,则 while 将尝试读取,readLine()
并且由于已读取整个文件而失败。那么如何BufferedReader readLine()
工作以及如何安全地退出我的 while 循环?
谢谢。