BufferedReader类读取文本

2022-06-29 14:17:18

1).BufferedReader类的一些方法(Buffered类和File Reader类都包含在java.io包中)

public BufferedReader(Reader readerObject)

BufferedReader类也没有一文件名为自变量的构造方法,如果想要创建一个类,则使用下列表达式:

new BufferedReader(new File Reader(File_Name))或者 new BufferedReader(new
File Reader(File_Object))

这样调用方法可能会抛出FileNotFoundException异常和File类没有找到的ClassNotFoundException异常。

1.public String readLine()throws IOException

从输入流读取一行数据,并以字符串的形式返回数据。如果读取超过文件的末尾,则返回null。

  1. public int read()throws IOException

从输入流中读取一个字符,并以表示该字符的整数返回。如果读取超过文件末尾,则返回-1。

3.public long skip(long n) throws IOException

跳过n个字节

4.public void close() throws IOException

关闭流

例子:



import java.io.BufferedReader;

import  java.io.FileReader;

import java.io.PrintWriter;

import  java.io.FileOutputStream;

import  java.io.FileNotFoundException;

import   java.io.IOException;

/**

 * @author 爱哭的周小姐

 *      用BufferedReader类检查文本文件的结束

 *     

 *              该类的readLine方法在读取到文本文件结束时会返回null

 *    
             read方法在读取到文本文件结束时返回-1

 *

 */



public class TextEOFDemo 

{

    public static void main(String[] args)

    {

    try

    {
               
          BufferedReader inputStream=new BufferedReader(new FileReader("asdf.txt"));
               
         PrintWriter outputStream=new PrintWriter(new FileOutputStream("dfg.txt"));
        
        int count=0;
               
        String line=inputStream.readLine();
        
        while(line!=null)

        {

               count++;         
               
              outputStream.println(count+" "+line);
         
             line=inputStream.readLine();
         
        }
    
        inputStream.close();
        
        outputStream.close();        

    }

    catch(FileNotFoundException e)

    {

        System.exit(0);
        
    }

    catch(IOException a)

    {

        System.exit(0);
        
    }    

}

}

asdf.txt:

你好!

他好!

运行结果:

==============

dfg.txt:

1 你好!

2 他好!

2).使用BufferedReader类读取数字

与Scanner类不同,BufferedReader类没有从文本读取数字的方法。因此要想完成此操作先以字符串的形式读取数据,再逐个数据处理。

1.System.out 、System.in和System.err

System.out 、System.in和System.err 这三个流是Java代码自动可以使用的流。

System.out用于输出没有问题的代码,而System.err用于输出错误消息。

在重定向输出数据时,拥有两个不同标准的输出流是方便的。例如,可以将正常消息与错误消息分别定向到两个不用的文件中。Java允许我们将这三个标准输出流的任何数据重定向到文件或其他IO设备,通过System类的静态方法setIn、setOut、setErr方法完成。




import java.io.PrintStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

/**

 * @author 爱哭的周小姐

 *     错误消息重定向

 */

public class RedirectionDemo 

{

    

    public static void main(String[] args)

    {

        PrintStream   errStream=null;


   try
        {

            errStream=new PrintStream(new   FileOutputStream("asd.txt"));            
        }

        catch(FileNotFoundException e)

        {

            System.exit(0);
            
        }
        
        System.setErr(errStream);
        
        System.err.println("你好!");
        
        System.out.println("他好!");
        
        errStream.close();

    }

}

运行结果:

==============

asd.txt文件:

你好!

屏幕:

他好!

  • 作者:秃头也打码
  • 原文链接:https://blog.csdn.net/weixin_43122328/article/details/86646937
    更新时间:2022-06-29 14:17:18