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

BufferedReader.ready()方法是否确保readLine()方法不返回NULL?

BufferedReader.ready()方法并不能确保readLine()方法不返回NULL。

BufferedReader.ready()方法用于检查是否可以从输入流中读取数据,它返回一个布尔值,表示是否可以立即读取数据而不会被阻塞。如果返回true,则表示可以读取数据;如果返回false,则表示可能需要等待更多数据到达。

readLine()方法用于从输入流中读取一行文本,并返回一个字符串。如果输入流已经到达末尾,则readLine()方法会返回null。

虽然在调用readLine()方法之前可以使用ready()方法进行检查,但是即使ready()方法返回true,也不能保证readLine()方法不返回null。这是因为在调用ready()方法和readLine()方法之间,可能会有其他线程或进程读取了输入流中的数据,导致readLine()方法返回null。

因此,为了确保readLine()方法不返回null,应该在调用readLine()方法后进行null检查,例如:

代码语言:java
复制
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = reader.readLine();
if (line != null) {
    // 处理读取到的数据
} else {
    // 输入流已经到达末尾
}

关于BufferedReader、readLine()方法以及相关的应用场景和推荐的腾讯云产品,可以参考腾讯云文档中的相关内容:

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

相关·内容

Microsoftthrifty:RPC方法返回NULL的异常处理

https://blog.csdn.net/10km/article/details/86244875 我们知道:thrift框架是不允许返回值为null的,如果返回值为null,client...端会抛出异常,我在之前用facebook/swift框架时就遇到了这个问题,这是当时解决问题的记录《thrift:返回null的解决办法》,现在使用Microsoft/thrifty框架实现的客户端同样也存在这个问题..., "Missing result"); } } } 可以看到,返回结果为null时,会抛出类型为MISSING_RESULT的ThriftException异常。...Override public void onError(Throwable error) { // 如果关闭时有异常,则将异常转给callback对象, // 当方法返回值为...@Override public void onError(Throwable error) { // 对象ThriftException异常,判断类型是否

1.4K40

python让函数返回结果的方法

函数返回值简介 1、简单介绍print和return的区别,print仅仅是打印在控制台,而return则是将return后面的部分作为返回值:作为函数的输出,可以用变量接走,继续使用该返回值做其它事。...2、函数需要先定义后调用,函数体中return语句的结果就是返回值。如果一个函数没有reutrn语句,其实它有一个隐含的return语句,返回值是None,类型也是’NoneType’。...func(x,y): num = x + y return print(func(1,2)) #上面代码的输出结果为:None 从上面例子可以看出print( )只是起一个打印作用,函数具体返回什么由...return决定 return语句的作用: 结束函数调用、返回值 指定返回值与隐含返回值: 1、函数体中return语句有指定返回值时返回的就是其值 2、函数体中没有return语句时,函数运行结束会隐含返回一个...None作为返回值,类型是NoneType,与return 、return None 等效,都是返回 None。

6.3K41
  • Java判断对象是否为空的方法:isEmpty,null,” “

    今天修改辞职同事遗留的代码才发现这个问题,不能用isEmpty来判断一个对象是否null,之前没在意这个问题,在报了空指针之后才发现这个问题。...查了一下关于判断为空的几个方法的区别,这里做一个简单的总结: null 一个对象如果有可能是null的话,首先要做的就是判断是否null:object == null,否则就有可能会出现空指针异常,这个通常是我们在进行数据库的查询操作时...= null,进行非空判断,然后再进行其他的业务逻辑,这样可以避免出现空指针异常。 isEmpty() 此方法可以使用于字符串,数组,集合都可以用。...,首先要排除对象不为null,否则当对象为null时,调用isEmpty方法就会报空指针了。...要想返回true,也就是一个对象的长度为0,也就是说首先这个对象肯定不为null了,内容为空时,才能返回true。

    5.4K40

    Python的Django框架实现数据库查询(返回QuerySet的方法)

    manage.py makemigrations app_name[应用的名称] python manage.py migrate app_name[应用的名称] 迁移成功后可以进行以下的操作咯~ 二、介绍返回...该方法返回一个由(object,created)组成的元组,元组中的object是一个查询到或被创建的对象,created是一个表示是否创建新对象的布尔值(true:表示创建新对象|false:相反)。...该方法返回一个由(object, created)组成的元组,元组中的object是一个创建的或者是被更新的对象, created是一个标示是否创建了新的对象的布尔值(true(表示创建成功)|false...13.exists()方法: exists() 如果QuerySet包含任何结果,则返回True,否则返回False。...以上这篇Python的Django框架实现数据库查询(返回QuerySet的方法)就是小编分享给大家的全部内容了,希望能给大家一个参考。

    2.6K30

    java判断空对象为空_Java判断对象是否为空(包括null ,””)的方法

    本文实例为大家分享了Java判断对象是否为空的具体代码,供大家参考,具体内容如下 package com.gj5u.publics.util; import java.util.List; /** *...判断对象是否为空 * * @author Rex * */ public class EmptyUtil { /** * 判断对象为空 * * @param obj * 对象名 * @return...是否为空 */ @SuppressWarnings(“rawtypes”) public static boolean isEmpty(Object obj) { if (obj == null)...return ((String) obj).trim().equals(“”); } return false; } /** * 判断对象不为空 * * @param obj * 对象名 * @return 是否不为空...isEmpty(obj); } } 以上所述是小编给大家介绍的Java判断对象是否为空(包括null ,””)的方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

    7K10

    Java中方法重载是否能够依靠返回值类型不同来区分?

    在Java编程语言中,方法重载是指在一个类中定义多个相同名称但参数列表不同的方法。通过方法重载,我们可以为同一动作提供多种实现方式。那么在Java中,方法重载是否能够依靠返回值类型不同来区分呢?...Java中,方法重载无法通过返回值类型来区分重载方法。 其主要原因有两点: 1、返回类型参与方法签名 Java语言规范中描述了方法签名的概念,用于区分同一个类中的重载方法。...方法签名包括方法名称和参数列表(数量、顺序、类型),而不包括返回值类型。...尽管它们的返回类型不同,但它们的参数列表相同,因此它们违反Java方法重载的规定。 2、反例容易出错 如果我们允许通过返回类型来区分方法重载,很容易造成反例,导致程序员的困惑和错误。...return a + b; } public double add(int a, int b) { return (double)(a + b); } } 由于返回类型参与方法签名

    32920

    IO流知识盲点

    会继续下一次循环,等待读取下一条消息 1.原来readLine()方法在进行读取一行时,只有遇到回车(\r)或者换行符(\n)才会返回读取结果,这就是“读取一行的意思”,重要的是readLine()返回的读取内容中并不包含换行符或者回车符...解决方法: 在客户端每次输入回车后,手动给输入内容加入"\n"或"\r",再写入服务器; 注意: 1、误以为readLine()是读取到没有数据时就返回null(因为其它read方法当读到没有数据时返回...-1),而实际上readLine()是一个阻塞函数,当没有数据读取时,就一直会阻塞在那,而不是返回null。...没有数据时会阻塞,在数据流异常或断开时才会返回null 2、readLine()只有在数据流发生异常或者另一端被close()掉时,才会返回null值。...如果指定buffer大小,则readLine()使用的buffer有8192个字符。在达到buffer大小之前,只有遇到"/r"、"/n"、"/r/n"才会返回

    51910

    C# .NET面试系列九:常见的算法

    这个程序首先要求用户输入一个正整数作为查找质数的范围上限,然后使用 IsPrime 方法判断每个数是否为质数,并输出在指定范围内的所有质数。...IsPrime 方法使用了试除法,检查一个数是否有除了 1 和自身以外的因子。2....递归基线是当输入为0或1时,返回1(0! 和 1! 都等于1)。否则,递归地调用函数,将输入减一,然后与原来的输入相乘。这样递归地进行下去,直到达到基线情况。5. 请编程实现此方法。...(); }}在这个示例中,MergeAndConvertToString 方法使用 string.Join 方法,该方法接受一个分隔符(逗号和空格)和一个整型数组,并返回将数组中的元素连接成的字符串...Array.Exists 方法用于检查数组中是否已经存在当前生成的随机数。最后,程序输出生成的随机数组。7.

    16410

    【Java 基础篇】Java标准输入流详解:读取用户输入的完整指南

    需要注意的是,read()方法返回的是整数,需要进行类型转换为字符。 处理输入异常 在处理用户输入时,应该考虑到可能出现的异常情况。用户可能会输入无效的数据,或者在程序预期之外终止输入。...例如,使用InputMismatchException来处理匹配的输入: import java.util.InputMismatchException; import java.util.Scanner...你输入的数字是:" + number); } catch (InputMismatchException e) { System.out.println("输入匹配...= console.readPassword("请输入密码:"); // 从 password 数组中获取密码并进行处理 } } console.readPassword() 方法会将用户输入的密码作为字符数组返回...可以使用 try-with-resources 来确保在使用完毕后自动关闭流。

    1.3K20
    领券