问题标签 [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 投票
3 回答
2606 浏览

java - Java:暂停线程并在文件中获取位置

我正在用 Java 编写一个我想暂停和恢复的多线程应用程序。
线程正在逐行读取文件,同时查找与模式匹配的行。它必须在我暂停线程的地方继续。为了读取文件,我将 BufferedReader 与 InputStreamReader 和 FileInputStream 结合使用。

我使用这个 FileInputStream 因为我需要文件指针作为文件中的位置。
在处理这些行时,它将匹配的行写入 MySQL 数据库。要在线程之间使用 MySQL 连接,我使用 ConnectionPool 来确保只有一个线程正在使用一个连接。

问题是当我暂停线程并恢复它们时,一些匹配的行就消失了。我还尝试从偏移量中减去缓冲区大小,但它仍然存在同样的问题。

什么是解决这个问题的好方法或者我做错了什么?

更多细节:

循环

计算文件中的位置

将其放入数据库

0 投票
6 回答
24411 浏览

java - 读取输入直到 control+d

我想提示用户开始输入字符,并且我希望他们能够输入任意长度的字符,直到他们按下 control+d 退出。

例如,他们可以键入一串数字,例如:1234567,一旦他们决定按 control+d,他们输入的行就会显示出来(因此不必按回车键)

我想我需要一个缓冲的阅读器或其他东西。有什么建议么?

0 投票
3 回答
5778 浏览

java - BufferedReader 指针

我有以下代码,但我不明白如何将指针重置为起始位置:

我试过

没有结果。

0 投票
2 回答
8735 浏览

java - Readline in java compile time error

I know i'm doing something very wrong here, but I'll be frank here my knowledge of java is very weak. Whenever I call dataIn.readLine() I get this compile time error

Here's the code, I know the naming conventions are awful and that it nearly does nothing.

http://www.ideone.com/9OM6O Compiled it here as well with the same result.

0 投票
3 回答
879 浏览

java - 为什么使用 BufferedReader 读取文件注释的第一行?

我想这听起来很疯狂,但我正在从一个文件中读取,它似乎跳过了文件的第一行。

到底是怎么回事?

这是来源:

这一定是我在看的东西。

我复制并粘贴了确切的来源,所以我希望这也发生在你身上。

谢谢,卡利普

0 投票
4 回答
14278 浏览

java - 如何在java中追加到文件的末尾?

如果我在文件中写入一些字符串,那么它会转到第一行。但是如果再次运行程序,它会将新文本写入前一个文本(到第一行)。我想做:如果我插入一些东西,那么它会转到下一行。例如:

等等...

我应该在代码中更改什么?谢谢!

0 投票
3 回答
2870 浏览

java - 为什么我正在创建的文本文件中缺少最后几行?

我有一个函数可以创建 7 个带有数据行的不同文本文件。然后使用以下函数将这 7 个文件组合成不同函数中的单个文件:

调用代码:

最后的 683.txt 从第 7 个文件(683_7.txt)中丢失了大约 50 行,我不知道为什么。它总是而且只有最终文件的最后几行丢失。我不知道我是否即将关闭 bufferInput 或什么。

任何想法将不胜感激。我可以很快地测试任何想法。

谢谢!

0 投票
4 回答
2925 浏览

java - 如何让缓冲阅读器从头开始读取而不是使用另一个对象

在下面编写的代码中,我希望第二个 while 循环从第一个 while 循环正在使用的同一文件的第二行中读取。截至目前,第二个 while 循环正在从文件的第三行读取。我可以通过使用另一个缓冲阅读器来做到这一点。但还有其他更好的方法吗?

0 投票
4 回答
1506 浏览

java - 将网页内容获取到 String 非常慢

我使用 HttpURLConnection.getInputStream() 下载了一个网页并将内容获取到一个字符串,我执行以下方法:

页面的下载速度很快,但将内容获取到 String 的处理速度很慢。还有另一种方法可以更快地将内容获取到字符串?

我将其转换为字符串以插入数据库。

0 投票
2 回答
5732 浏览

java - Android上的套接字未关闭

我用 Java 写了一个简单的 TCP 客户端类。它用于连接到用 Python 编写的 TCP 服务器并在新线程中处理传入的消息。它看起来像这样:

如果新客户端已连接或断开连接,TCP 服务器只需将“客户端连接”和“客户端断开连接”打印到标准输出。这在普通 java 应用程序中运行 TCPTestClient 时效果很好:调用 connect() 时建立连接,调用 close() 时关闭,并且 InputHandler 内等待的 readLine() 将失败,因为 SocketException 表示套接字是关闭(java.net.SocketException: Socket closed)。这是我所期望的行为。

但是,当我在 Android 上运行此代码时,连接不会关闭:readLine() 仍然会阻塞而不抛出 SocketException,并且服务器不会显示“客户端已断开连接”消息。

这是我的活动:

因此,当 Activity 启动/恢复时,将建立连接。当用户点击后退按钮时,连接应该被关闭。然而,onPause() 和 close() 被调用,但是套接字并没有关闭,因为 BufferedReader 仍然阻塞等待输入。类似mReader.close()close-method 块内部的调用也是如此。

有谁知道如何解决此问题,以便在 Activity 暂停时成功关闭连接?