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

为什么我的FileReader/BufferReader同时返回句子和null?

FileReader和BufferedReader是两个不同的类,分别用于文件读取和缓冲区读取。它们的返回值不同,因此可能会出现返回句子和null的情况。

  1. FileReader:
    • 概念:FileReader是用于读取字符文件的类,它继承自Reader类。
    • 分类:属于Java I/O库中的字符流。
    • 优势:可以方便地读取字符文件的内容。
    • 应用场景:适用于读取文本文件,如配置文件、日志文件等。
    • 腾讯云相关产品:无特定产品与FileReader直接相关。
  • BufferedReader:
    • 概念:BufferedReader是用于读取字符流的类,它继承自Reader类,提供了缓冲功能。
    • 分类:属于Java I/O库中的字符流。
    • 优势:通过缓冲提高了读取效率,可以一次读取多个字符。
    • 应用场景:适用于读取大型文本文件,如日志文件、数据文件等。
    • 腾讯云相关产品:无特定产品与BufferedReader直接相关。

返回句子和null的情况可能有以下几种原因:

  1. 文件结束:当读取到文件末尾时,FileReader和BufferedReader会返回null,表示已经读取完所有内容。
  2. 读取错误:如果在读取文件时发生错误,比如文件不存在或无法访问,FileReader和BufferedReader也会返回null。
  3. 读取空行:如果文件中存在空行,读取时会返回一个空字符串或空白字符,这可能被误解为null。

需要注意的是,FileReader和BufferedReader的返回值不会同时返回句子和null,只会返回其中之一。如果同时返回句子和null,可能是代码逻辑或使用方式有误,需要检查代码并确保正确处理读取结果。

请注意,以上答案仅供参考,具体应用和推荐产品需根据实际需求和情况进行选择。

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

相关·内容

工厂模式理解了没有?

本文章试图去解释为什么要用工厂模式,用了工厂模式好处是什么,以及工厂模式衍生出三种形式究竟有什么区别~~ 那么接下来就开始吧,如果有错地方希望能多多包涵,并不吝在评论区指正!...不急哈,下面我会一一讲到~~ 1.1为什么要用工厂模式? 想想我们为什么要用工厂模式?...可以看出来,创建一个BufferReader对象里面需要一个FileReader对象,而FileReader对象又要File对象。...再说从面向对象角度来看:一个操作文件类还要我会创建BufferReader是不是有点过分了?(职责没有分工好) 交给工厂来创建对象这就很面向对象了! 1.2体验工厂模式 何为工厂?...BufferedReader reader = new BufferedReader(fileReader); return reader; } } 那么我们要得到BufferReader

64360

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

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

2.6K10

Java 持久化之 -- IO 全面整理(看了绝不后悔)

不管我们编写何种应用,都难免各种输入输出相关媒介打交道,其实媒介进行IO过程是十分复杂,这要考虑因素特别多,比如我们要考虑哪种媒介进行IO(文件、控制台、网络),我们还要考虑具体和它们通信方式...输出流:OutputStreamWriter 而从其处理流类型维度上看,Java IO又可以分为: 1. 字节流:InputStreamOutputStream 2. ...其中,InputStreamReader与数据源相关联,OutputStreamwriter与目标媒介相关联。 以下图说明了这一点: ?...Reader reader=null; Writer writer=null; try { reader=new FileReader("e:/aaa.txt...Reader reader = null; Writer writer = null; BufferedReader bufferReader=null

54320

全面掌握IO(输入输出流)

File类: 程序中操作文件目录都可以使用File类来完成即不管是文件还是目录都是使用File类来操作,File能新建,删除,重命名文件目录,但File不能访问文件内容本身,如果需要访问文件本身,...:FileInputStream FileReader,这两个子类都是节点流(与处理流相对)-----会直接与指定文件关联而无包装。...= null; try{ //创建字节输入流 fr = new FileReader("src/xidian/sl/io/InputStreamTest.java...; 字符流中有两个特别的流来处理字符串:StringReaderStringWriter, ?...,而BufferReader有强大输入(即读取),因此在操作读取文本内容时尽可能将其转化为BufferReader,可以方便使用readLine()方法  接下来最为强大文件操作类RandomAccessFile

856150

Java基础教程--安卓入门教程(七)

FileReader fr = null;   FileWriter fw = null;   try{     fr = new FileReader("e:/src/from.txt...fileReader = null;   BufferReader bufferReader = null;   try{     fileReader = new FileReader(...1.进程线程 2.多线程程序运行模式 3.定义线程方法 多线程与多进程 多进程: 在操作系统中能(同时)运行多个任务(程序) 多线程: 在同一应用程序中多个顺序流...(同时)执行 创建线程方法 方法1: 定义一个线程类,它继承类Thread并重写其中方法run();方法run()称为线程体;由于Java只支持单继承,用这种方法定义类不能再继承其他类...it.hasNext(); 还有没有下一个元素,如果这个游标后面有元素就返回true,否则,false; it.next(); 返回游标所指位置下一个元素,取出,用hasNext

66820

java之读取文件大全

读写类介绍 java读写文件IO流分两大类,字节流字符流,基类分别是字符:ReaderWriter;字节:InputStreamOutPutStream 字符流分为FileReaderFileWrtier...fr = new FileReader(file); 如果用缓冲区,则用缓冲区装载流,用缓冲区是为了提高读写性能 BufferReader br = new BufferReader(fr); 开始读写操作... InputStreamReader FileReader继承了InputStreamReader,但并没有实现父类中带字符集参数构造函数,所以使用FileReader时,可能造成中文乱码,而使用...(不过不能使用TAB字符); 允许在文件中加入选择性空行,以增加可读性; 在一个档案中,可同时包含多个文件,并用“——”分隔; 选择性符号“...”可以用来表示档案结尾(在利用串流通讯中,这非常有用..., 需要注意返回值是一个 CSVRecord 对象, 需要对其进行转换; 第一列返回是头, 需要过滤掉 /** * 读取csv文件, 返回结构话对象 * @param filename csv

3.6K100

Java基础教程(全代码解析)

在具有父子关系两个类当中,父类子类各有一个函数,这两个函数定义(返回值类型,函数名,参数列表)完全相同 对象转型(多态性地体现) 什么是向上转型?向上转型就是将子类对象赋值给父类引用。...fr = null; FileWriter fw = null; try{ fr = new FileReader("e:/read.txt"); fw = new FileWriter...args[]){ FileReader fileReader = null; BufferReader bufferReader = null; try{ fileReader =...多进程:就是指在操作系统中能同时运行多个任务程序 多线程:在同一个应用程序中多个顺序流同时执行 创建线程方法 定义一个线程类,它继承类Thread并重写其中方法run(); 方法run()称为线程体...it.hasNext(); 还有没有下一个元素,如果这个游标后面有元素就返回true,否则,false; it.next(); 返回游标所指位置下一个元素,取出,用hasNext()看有没有,next

75820

Java 持久化操作之 --io流与序列化

len     int  available()   表示当前还剩多少个字节未读取     注意:read方法返回 int 类型 返回读入字节数组长度,如果读取到文件末尾时候,则返回-1 代码演示按字节读取到控制台...(rd);//传入Reader对象 String word=null;//接收返回值,读到末尾返回null while((word=bf.readLine...解:使用FileWrite类与BufferReader类         BufferedWrite类是Write类子类         BufferedWrite类带有缓冲区         步骤:...BufferedWrite 对象 Writer wd=null; BufferedWriter bw=null; //创建FileReader BufferedReader...=null) di.close(); ds.close(); } } 3)序列化反序列化     序列化反序列化过程 序列化步骤:     1.实现 Serializable

1.1K90

Java输入输出流详解

大家好,又见面了,是你们朋友全栈君。 通过数据流、序列化和文件系统提供系统输入输出。 Java把这些不同来源目标的数据都统一抽象为数据流。...此外新类库性能也比旧好。   但是,ReadWrite并不是取代InputStreamOutputStream,有时,你还必须同时使用”基于byte类””基于字符类”。...read( ):读取一个byte数据,返回值是高位补0int类型值。   ...(4) public int available( ):返回输入流中可以读取字节数。...Reader 体系结构 (1) FileReader   FileReader主要用来读取字符文件,使用缺省字符编码,有三种构造函数:   –将文件名作为字符串   FileReader

1.1K30

Java文件读写

大家好,又见面了,是你们朋友全栈君。 1....4.所谓数据流是指一组有顺序、有起点终点字节集合 5.Java程序不能直接操纵I/O设备,而是在程序设备之间加入了一个中间介质,这就是流。...无参read()方法返回int类型,返回值是数据下一个字节字节码,如果已到达流最后面了,就返回-1;带参数read()方法返回是读取字节数(到达数据末端返回值为-1) 3.read()源码...2)writer类是定义流式字符输出抽象类 3)FileReader类创建了一个可以读取文件内容Reader类 4)FileWriter创建一个可以写文件Writer类 用FileReader...FileInputStream(sourceFile); InputStreamReader fr=new InputStreamReader(fis,"gbk");//重点是这个,也不知道为什么

61310
领券