Tag: bufferedreader

从Java中解析ping结果的时间部分

我设法修改程序以ping对等计算机并获取ping计数。 如何从ping计数结果中实时解析time = ?ms ? 码: public static void main(String[] args) { String ip = “192.168.1.1 -n 10”; String pingResult = “”; String pingCmd = “ping ” + ip; try{ Runtime r = Runtime.getRuntime(); Process p = r.exec(pingCmd); BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println(inputLine); pingResult […]

从BufferedReader(readLine)读取返回null?

我目前正在尝试从BufferedReader读取一个String ,但无法找到一种方法来执行此操作… 我当然试过了 BufferedReader inStream = null; inStream = new BufferedReader(new InputStreamReader(client.getInputStream())); String test = inStream.readLine(); 但是,即使BufferedReader inStream等于某种消息,尝试打印到屏幕时结果也为null。

为什么这个BufferedReader没有以指定的UTF-8格式读取?

我正在抓几个网站,其中一些包含非拉丁字符和特殊字符,如“用于引号而不是”和’用于撇号而不是’ 。 这是真正的曲线球…… 我将相关文本打印到控制台。 当我在IDE(Netbeans)中运行它时,一切都编码良好。 但是当我在我的电脑上运行时, “I Need Your Help”打印出来: ΓÇ£I Need Your HelpΓÇ¥ … 在有人说我需要将我的JAVA_TOOL_OPTIONS环境变量设置为-Dfile.encoding=UTF8让我说我已经这样做了,这仍然是一个问题。 此外,我不应该指定缓冲读卡器的编码为”UTF-8″覆盖它吗? 这是一些信息: 我正在使用目标平台的JDK 7作为1.7 我正在运行Windows 7机器上运行我正在运行的所有机器并遇到同样的问题(有些没有设置JAVA_TOOL_OPTIONS ,但这似乎没有任何区别)。 我认为它使用的默认编码是Cp1252 … 这是我的代码。 让我知道您是否需要更多信息。 谢谢! /** * Using the given url, this method creates and returns the buffered reader for that url * * @param urlString * @return * @throws MalformedURLException * […]

如何使用java 读取文本文件中的最后一行

我正在创建一个日志,我想读取log.txt文件的最后一行,但是一旦读完最后一行,我就无法让BufferedReader停止。 这是我的代码: try { String sCurrentLine; br = new BufferedReader(new FileReader(“C:\\testing.txt”)); while ((sCurrentLine = br.readLine()) != null) { System.out.println(sCurrentLine); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (br != null)br.close(); } catch (IOException ex) { ex.printStackTrace(); } }

以多种格式从InputStream读取

我正在尝试编写一个读取HTTP请求和响应并解析它们的类。 由于标题是普通文本,因此使用BufferedReader和readLine方法读取它们似乎最容易。 这显然不会对数据体造成影响,因为它可能是二进制的,所以我想在读取头文件后切换到读取原始字节。 现在,我正在做这样的事情: InputStream input=socket.getInputStream(); BufferedReader reader=new BufferedReader(new InputStreamReader(input)); BufferedInputStream binstream=new BufferedInputStream(input); 问题是BufferedReader正在向前读取并在我有机会使用binstream获取流之前吞噬流中的所有二进制数据。 有没有办法阻止它每次调用readLine时读取超出换行符? 或者是否有更好的方法来读取原始二进制数据后的单行ASCII文本?

如何知道BufferedReader Stream是否已关闭

我在Java中有两个线程。 第一个线程正在关闭bufferedreader( br.close() ) 当第二个线程在同一个读取器上读取时,我得到一个IOException (Stream Closed) 即使我使用br.ready()我也会遇到此exception 有没有办法知道流是否已经关闭?

缓冲读取器HTTP POST

寻求一些帮助,我目前编写了一个HTTP服务器。 它目前正在处理GET请求。 但是,在使用POST时,缓冲的阅读器似乎挂了。 当请求停止时,通过缓冲读取器读取其余输入流。 我在谷歌上发现了一些东西。 我已经尝试将CRLF和协议版本从1.1更改为1.0(浏览器自动发出请求为1.1)任何想法或帮助将不胜感激。 谢谢

BufferedReader直接到byte

有没有可能我的后续BufferedReader能够将输入直接放入byte []? public static Runnable reader() throws IOException { Log.e(“Communication”, “reader”); din = new DataInputStream(sock.getInputStream()); brdr = new BufferedReader(new InputStreamReader(din), 300); boolean done = false; while (!done) { try { char[] buffer = new char[200]; int length = brdr.read(buffer, 0, 200); String message = new String(buffer, 0, length); btrar = message.getBytes(“ISO-8859-1”); int i=0; for (int […]

套接字:BufferedReader readLine()块

我正在使用BufferedReader.readLine()方法从远程服务器读取响应(用C语言编写,我无法访问源代码)。 BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line; while((line = br.readLine())!=null){ […] } 但它总是阻塞在最后一行,直到它超时。 所以我使用了以下代码: int b; while(true){ b = in.read; […] } 我发现读取的最后一个字节的整数值为13,我认为这是一个回车,对吗? 那么为什么readLine方法会阻塞? 服务器通常如何发出信号流的结束信号? 谢谢。

BufferedReader和BufferedInputStream之间的区别

java中的BufferedReader , BufferedInputStream和Scanner什么区别? BufferedReader读取文本, BufferedInputStream读取byte 。 除此之外有什么区别吗?