首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

运行BufferedReader类的readLine()函数不返回任何结果

问题描述:

运行BufferedReader类的readLine()函数不返回任何结果。

回答:

BufferedReader类的readLine()函数用于从输入流中读取一行文本。如果该函数不返回任何结果,可能是由于以下几个原因:

  1. 输入流已经到达末尾:如果输入流已经读取完毕,readLine()函数将返回null。这可能是因为输入流没有更多的数据可供读取。
  2. 输入流被关闭:如果输入流在调用readLine()函数之前被关闭,函数将返回null。在使用完输入流后,应该及时关闭它,以释放资源。
  3. 输入流中没有可读取的数据:如果输入流中没有可读取的数据,readLine()函数将阻塞等待,直到有数据可供读取。如果在一定时间内没有数据可供读取,函数可能会超时并返回null。
  4. 输入流中的数据格式不正确:如果输入流中的数据格式不符合预期,readLine()函数可能无法正确解析数据并返回null。在读取数据之前,应该确保输入流中的数据格式正确。

为了解决这个问题,可以采取以下措施:

  1. 检查输入流是否已经到达末尾,如果是,则不再调用readLine()函数。
  2. 确保输入流在调用readLine()函数之前没有被关闭。
  3. 检查输入流中是否有可读取的数据,可以使用available()函数来判断是否有可读取的字节数。
  4. 确保输入流中的数据格式正确,可以使用其他方法来验证数据的正确性,例如使用正则表达式进行匹配。

如果以上方法都没有解决问题,可能是由于其他原因导致的。可以尝试使用其他的输入流类或者调试工具来进一步分析问题所在。

腾讯云相关产品推荐:

如果您在腾讯云上运行应用程序并遇到了问题,可以使用腾讯云的云服务器(CVM)来进行调试和排查。云服务器是腾讯云提供的弹性计算服务,可以快速创建和管理虚拟机实例。

腾讯云云服务器产品介绍链接地址:https://cloud.tencent.com/product/cvm

希望以上回答对您有帮助。如果您还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Kotlin实战【五】Kotlin中的异常

如下,读取指定文件的一行,尝试解析为数字,然后返回一个数字,如果这行不是有效的数字,返回null。 fun readNumber(reader: BufferedReader): Int?...和其他现代JVM语言,Koltin不区别受检查和不受检查的异常。你需要指定一个函数抛出的异常,你可以也可以不处理这些异常。这个设计决定是基于Java中使用受检查异常的实践。...所以Java编译器不会强迫你捕获这个异常,你可以很容易的看见运行时的异常。这相当令人遗憾,因为不有效的输入数据是经常的事情,应该更优雅的处理。...val reader = BufferedReader(StringReader("not a number")) readNumber(reader)//没有打印任何数字 Kotlin中try关键词...如果捕获到一个异常,那么cache代码块中最后一个表达式就是结果。 四、总结 1、kotlin中的异常处理和java处理相似,除了Kotlin不要求你声明函数可以抛出的异常。

2.1K40

java调用python脚本返回的参数_javaweb调用python

Jython 也有很多从 CPython 中继承的模块库。最有趣的事情是 Jython 不像 CPython 或其他任何高级语言,它提供了对其实现语言的一切存取。...2、 在 java 中调用 python 脚本 (1)不需要传递参数,也不接收返回值 首先在本地建立一个 python 脚本,命名为 simple_python.py,写了一个简单函数,代码如下: #coding...a + b python的功能函数已经写好,接下来我们写一个java的测试类(同样需要用到Jpython包),来测试一下是否可以运行成功。...使用 Runtime.getRuntime() 执行脚本文件(推荐) (1)不需要传递参数,也不接收返回值 先写一个简单的 python 脚本 demo1,代码如下: import numpy as np...执行结果: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

4.5K40
  • JavaIO BufferedReader和BufferedWriter介绍和实例

    BufferedReader用于加快读取字符的速度,BufferedWriter用于加快写入的速度 BufferedReader和BufferedWriter类各拥有8192个字符的缓冲区。...String readLine()这个方法一次可以读取一个文本行,返回的直接就是这一行的字符串,如果读到行尾了就返回null。...)方法返回的一行字符中不包含换行符,所以输出的时候要自己加上换行符。...=-1) { System.out.println(new String(cbuf,0,size)); } 运行结果: utf-8 file 这里是一句中文 这里要弄清楚的是BufferedReader...,BufferedReader的readLine()读取一行的时候返回的字符串没有换行符,所以,复制的时候写文件是我们好多写入一个换行符,使用writer.newLine()方法即可。

    54630

    如何优雅的实现异常块

    但是繁琐的try{}caht嵌套在代码里,看着很不舒服,这里我们不讨论性能,就代码来讲,来看看如何将他隐藏起来。原理是不变的。变得是写法。下面我们来看如何优雅的处理异常块。 在这之前。...Lambda表达式: java8提出:Lambda表达式理解为简洁的表示可传递的匿名函数的一种方式,它没有名称,但它有函数体,参数列表,返回类型。可以抛出一个异常类型。...,那么这些抽象方法签名必须和Object的public方法一样,接口最终有确定的类实现, 而类的最终父类是Object。...因此函数式接口可以定义Object的public方法。 Class clazz = Class.forName("类名"); 这句代码想来小伙伴都不陌生。...bufferedReader) throws IOException; } 执一个行为,任何BufferReader -> String的Lambda表达式都可以作为参数传入。

    1K30

    以行为参数化为指导思想,以Lambda表达式为表达方式,以函数式接口为实现手法去实现它

    写在前面 很早写的一篇文章,这里分享给小伙伴。 在项目中,我们会遇到异常处理,对于运行时异常,需要我们自己判断处理。对于受检异常,需要我们主动处理。...主动处理中繁琐的try{}caht嵌套在代码里,看着很不舒服 这里我们不讨论性能,就代码来讲,来看看如何将他隐藏起来。原理是不变的。变得是写法。下面我们来看如何优雅的处理异常块。...Lambda表达式 java8提出:Lambda表达式理解为简洁的表示可传递的匿名函数的一种方式,它没有名称,但它有函数体,参数列表,返回类型。可以抛出一个异常类型。...,那么这些抽象方法签名必须和Object的public方法一样,接口最终有确定的类实现, 而类的最终父类是Object。...bufferedReader) throws IOException; } 执一个行为,嵌入到定式里,任何BufferReader -> String的Lambda表达式都可以作为参数传入。

    84320

    Java 调用 shell 控制超时时间

    背景平台开发经常需要使用 shell 脚本调度大数据的组件,在使用 springBoot 开发项目时也是如此,为了保证子 shell 的执行时间可控,需要设置超时时间,如果 shell 无法在给定时间内返回...(BufferedReader.java:161)at java.io.BufferedReader.readLine(BufferedReader.java:324)at java.io.BufferedReader.readLine...destroy 掉子进程,destory 子进程的同时也会将 InputStream 流关闭,导致子进程计算结果无法获取,为了避免这种情形,可以考虑使用一个单独线程获取结果。...unit)该方法会阻塞当前线程,直到子进程执行完毕或者达到了超时时间,返回值反应子进程是否正常运行完毕public abstract void destroy()底层使用的一个 JNI(java native...底层使用 exitValue,不会抛异常InputStreamclose 方法不用的 InputStream 有不同的 close 实现,对于 process.getInputStream() 返回的类是

    2.3K20

    Lambda 学习记录

    为接口声明许多只用一次的实体类而造成的啰嗦代码,在Java 8之前可以用匿名类来减少。 ❑ Java API包含很多可以用不同行为进行参数化的方法,包括排序、线程和GUI处理。...例如,Runnable接口可以看作一个什么也不接受什么也不返回(void)的函数的签名,因为它只有一个叫作run的抽象方法,这个方法什么也不接受,什么也不返回(void)。...第一个例子有效,是因为Lambda()-> {}具有签名()-> void,这和Runnable中的抽象方法run的签名相匹配。请注意,此代码运行后什么都不会做,因为Lambda是空的!...new BufferedReader(new FileReader("data.txt")); return p.process(br); } } 任何BufferedReader...((br2) -> br2.readLine() + br2.readLine()); 使用函数式接口 Lambda和方法引用实战 使用匿名类 image.png 使用Lambda表达式 image.png

    49420

    Java之Reader:解析字符流,读取文件内容不再是难事!

    摘要本文将介绍Java中的Reader类,包括:Reader类的概述和常用方法介绍如何使用Reader类读取文本文件如何使用BufferedReader类提高读取效率如何使用InputStreamReader...它是所有字符输入流的父类,可以读取字符数组、字符串等。常用的Reader方法如下:read():读取单个字符,并返回它的Unicode值。如果到达流的末尾,返回-1。...返回读入的字符数,如果到达流的末尾,返回-1。read(char[] cbuf, int offset, int length):将字符读入数组的某一部分。...执行结果演示:附上hello.txt 文本截图:如何使用BufferedReader类提高读取效率在读取大文件时,逐个字符读取的效率较低。因此,我们可以使用BufferedReader类提高读取效率。...然后,运行上述示例代码,我们将能够在控制台上看到文件中的内容。全文小结在本文中,我们介绍了Java中的Reader类。

    1.9K222

    消灭 Java 代码的“坏味道”

    代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,便会越累越多。如果用功去清除这些"坏味道",不仅能提高自己的编码水平,也能使代码变得"精白无一毫不彻"。...任何 Collection.isEmpty() 实现的时间复杂度都是 O(1) ,但是某些 Collection.size() 实现的时间复杂度可能是 O(n) 。...工具类是一堆静态字段和函数的集合,不应该被实例化。...但是,Java 为每个没有明确定义构造函数的类添加了一个隐式公有构造函数。所以,为了避免 java "小白"使用有误,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数。...虽然通过类的实例访问公有静态常量是允许的,但是容易让人它误认为每个类的实例都有一个公有静态常量。

    1.3K30

    如何使用Java逐行读取大文本文件?

    参考链接: Java中Scanner和BufferReader类之间的区别 我需要使用Java逐行读取大约5-6 GB的大型文本文件。    我如何快速做到这一点?  ...    for (String line : (Iterable) lines::iterator)     {         ;     } }  一些注意事项: Files.lines返回的流....hasNextLine()函数是一个布尔值,如果文本中还有更多行,则返回true。 .nextLine()函数为您提供整行作为字符串,然后您可以使用所需的方式。...这是读取1GB测试文件最快的3种文件读取方法。    请注意,在运行性能测试时,我没有向控制台输出任何内容,因为这确实会降低测试速度。 我只是想测试原始读取速度。    ...    经过测试,可以在Java 7、8、9中运行。

    2.7K10

    Java8中的Lambda表达式 - 崔笑颜的博客

    (); }} 可以看到,核心的行为动作就是 return bufferedReader.readLine();,表示读取第一行的数据并返回 那如果我们想要读取两行呢?...BufferedReader对象,返回一个String对象 String process(BufferedReader reader) throws IOException;} 可以看到,只有一个抽象方法...,返回另一个参数 R apply(T t);} 下面我们列出Java中常用的一些函数式接口,你会发现自带的已经够用了,基本不会需要我们自己去写 这里的手写只是为了自己实现一遍,可以加深理解程度 6....什么是构造引用 上面介绍了方法引用,就是直接引用某个方法 这里的构造引用同理可得,就是引用某个类的构造方法 构造引用的表达式为:Class::new,仅此一种 如果你有多个构造函数,那编译器会自己进行推断参数...,组合是通过函数式接口的静态方法来组合(静态方法会返回另一个函数式接口的对象) 比如list.sort(comparableAge.thenComparing(comparableWeight));

    44510
    领券